提交 714a9c68 编写于 作者: M Matt Bierner

Fix markdown fenced code blocks for mixed fence types

Fixes #31206
上级 e1f75801
......@@ -68,7 +68,7 @@ const fencedCodeBlockDefinition = (name, identifiers, sourceScope) => {
return `<key>fenced_code_block_${name}</key>
<dict>
<key>begin</key>
<string>(^|\\G)(\\s*)([\`~]{3,})\\s*((${identifiers.join('|')})(\\s+[^\`~]*)?$)</string>
<string>(^|\\G)(\\s*)(\`{3,}|~{3,})\\s*((${identifiers.join('|')})(\\s+[^\`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......
......@@ -588,7 +588,7 @@
<key>fenced_code_block_css</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((css|css.erb)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((css|css.erb)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -639,7 +639,7 @@
<key>fenced_code_block_basic</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((html|htm|shtml|xhtml|inc|tmpl|tpl)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((html|htm|shtml|xhtml|inc|tmpl|tpl)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -690,7 +690,7 @@
<key>fenced_code_block_ini</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((ini|conf)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((ini|conf)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -741,7 +741,7 @@
<key>fenced_code_block_java</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((java|bsh)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((java|bsh)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -792,7 +792,7 @@
<key>fenced_code_block_lua</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((lua)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((lua)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -843,7 +843,7 @@
<key>fenced_code_block_makefile</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((Makefile|makefile|GNUmakefile|OCamlMakefile)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((Makefile|makefile|GNUmakefile|OCamlMakefile)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -894,7 +894,7 @@
<key>fenced_code_block_perl</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((perl|pl|pm|pod|t|PL|psgi|vcl)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((perl|pl|pm|pod|t|PL|psgi|vcl)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -945,7 +945,7 @@
<key>fenced_code_block_r</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((R|r|s|S|Rprofile)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((R|r|s|S|Rprofile)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -996,7 +996,7 @@
<key>fenced_code_block_ruby</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1047,7 +1047,7 @@
<key>fenced_code_block_php</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((php|php3|php4|php5|phpt|phtml|aw|ctp)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((php|php3|php4|php5|phpt|phtml|aw|ctp)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1102,7 +1102,7 @@
<key>fenced_code_block_sql</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((sql|ddl|dml)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((sql|ddl|dml)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1153,7 +1153,7 @@
<key>fenced_code_block_vs_net</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((vb)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((vb)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1204,7 +1204,7 @@
<key>fenced_code_block_xml</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1255,7 +1255,7 @@
<key>fenced_code_block_xsl</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((xsl|xslt)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((xsl|xslt)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1306,7 +1306,7 @@
<key>fenced_code_block_yaml</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((yaml|yml)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((yaml|yml)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1357,7 +1357,7 @@
<key>fenced_code_block_dosbatch</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((bat|batch)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((bat|batch)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1408,7 +1408,7 @@
<key>fenced_code_block_clojure</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((clj|cljs|clojure)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((clj|cljs|clojure)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1459,7 +1459,7 @@
<key>fenced_code_block_coffee</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((coffee|Cakefile|coffee.erb)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((coffee|Cakefile|coffee.erb)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1510,7 +1510,7 @@
<key>fenced_code_block_c</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((c|h)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((c|h)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1561,7 +1561,7 @@
<key>fenced_code_block_cpp</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((cpp|c\+\+|cxx)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((cpp|c\+\+|cxx)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1612,7 +1612,7 @@
<key>fenced_code_block_diff</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((patch|diff|rej)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((patch|diff|rej)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1663,7 +1663,7 @@
<key>fenced_code_block_dockerfile</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((dockerfile|Dockerfile)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((dockerfile|Dockerfile)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1714,7 +1714,7 @@
<key>fenced_code_block_git_commit</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((COMMIT_EDITMSG|MERGE_MSG)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((COMMIT_EDITMSG|MERGE_MSG)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1765,7 +1765,7 @@
<key>fenced_code_block_git_rebase</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((git-rebase-todo)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((git-rebase-todo)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1816,7 +1816,7 @@
<key>fenced_code_block_go</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((go|golang)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((go|golang)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1867,7 +1867,7 @@
<key>fenced_code_block_groovy</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((groovy|gvy)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((groovy|gvy)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1918,7 +1918,7 @@
<key>fenced_code_block_jade</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((jade|pug)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((jade|pug)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -1969,7 +1969,7 @@
<key>fenced_code_block_js</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((js|jsx|javascript|es6|mjs)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((js|jsx|javascript|es6|mjs)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2020,7 +2020,7 @@
<key>fenced_code_block_js_regexp</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((regexp)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((regexp)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2071,7 +2071,7 @@
<key>fenced_code_block_json</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((json|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((json|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2122,7 +2122,7 @@
<key>fenced_code_block_less</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((less)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((less)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2173,7 +2173,7 @@
<key>fenced_code_block_objc</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((objectivec|objective-c|mm|objc|obj-c|m|h)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((objectivec|objective-c|mm|objc|obj-c|m|h)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2224,7 +2224,7 @@
<key>fenced_code_block_scss</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((scss)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((scss)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2275,7 +2275,7 @@
<key>fenced_code_block_perl6</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((perl6|p6|pl6|pm6|nqp)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((perl6|p6|pl6|pm6|nqp)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2326,7 +2326,7 @@
<key>fenced_code_block_powershell</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((powershell|ps1|psm1|psd1)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((powershell|ps1|psm1|psd1)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2377,7 +2377,7 @@
<key>fenced_code_block_python</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2428,7 +2428,7 @@
<key>fenced_code_block_regexp_python</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((re)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((re)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2479,7 +2479,7 @@
<key>fenced_code_block_rust</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((rust|rs)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((rust|rs)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2530,7 +2530,7 @@
<key>fenced_code_block_scala</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((scala|sbt)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((scala|sbt)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2581,7 +2581,7 @@
<key>fenced_code_block_shell</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2632,7 +2632,7 @@
<key>fenced_code_block_ts</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((typescript|ts)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((typescript|ts)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2683,7 +2683,7 @@
<key>fenced_code_block_tsx</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((tsx)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((tsx)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2734,7 +2734,7 @@
<key>fenced_code_block_csharp</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((cs|csharp|c#)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((cs|csharp|c#)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2785,7 +2785,7 @@
<key>fenced_code_block_fsharp</key>
<dict>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*((fs|fsharp|f#)(\s+[^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*((fs|fsharp|f#)(\s+[^`~]*)?$)</string>
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>end</key>
......@@ -2838,7 +2838,7 @@
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*(?=([^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*(?=([^`~]*)?$)</string>
<key>end</key>
<string>(^|\G)(\2|\s{0,3})(\3)\s*$</string>
<key>beginCaptures</key>
......
......@@ -416,7 +416,7 @@
<key>name</key>
<string>markup.fenced_code.block.markdown</string>
<key>begin</key>
<string>(^|\G)(\s*)([`~]{3,})\s*(?=([^`~]*)?$)</string>
<string>(^|\G)(\s*)(`{3,}|~{3,})\s*(?=([^`~]*)?$)</string>
<key>end</key>
<string>(^|\G)(\2|\s{0,3})(\3)\s*$</string>
<key>beginCaptures</key>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册