diff --git a/extensions/markdown/syntaxes/markdown.tmLanguage b/extensions/markdown/syntaxes/markdown.tmLanguage index b0982a11087..031589c965a 100644 --- a/extensions/markdown/syntaxes/markdown.tmLanguage +++ b/extensions/markdown/syntaxes/markdown.tmLanguage @@ -48,10 +48,10 @@ include - #raw_block - - - include + + + + #fenced_code_block_css @@ -202,6 +202,14 @@ include #fenced_code_block_csharp + + include + #fenced_code_block_unknown + + + include + #raw_block + include #link-def @@ -538,156 +546,480 @@ (^|\G)(?!\s*$|#|[ ]{0,3}((([*_][ ]{0,2}\2){2,}[ \t]*$\n?)|([*+-]([ ]{1,3}|\t)))|\s*\[.+?\]:|>) - raw_block - - begin - (^|\G)([ ]{4}|\t) - name - markup.raw.block.markdown - while - (^|\G)([ ]{4}|\t) - + + + + + + + + + fenced_code_block_css begin - (^|\G)\s*(([`~]){3,})\s*(css|css.erb)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((css|css.erb)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.css + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.css + + fenced_code_block_basic begin - (^|\G)\s*(([`~]){3,})\s*(html|htm|shtml|xhtml|inc|tmpl|tpl)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((html|htm|shtml|xhtml|inc|tmpl|tpl)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.html.basic + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.html.basic + + fenced_code_block_ini begin - (^|\G)\s*(([`~]){3,})\s*(ini|conf)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((ini|conf)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.ini + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.ini + + fenced_code_block_java begin - (^|\G)\s*(([`~]){3,})\s*(java|bsh)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((java|bsh)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.java + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.java + + fenced_code_block_lua begin - (^|\G)\s*(([`~]){3,})\s*(lua)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((lua)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.lua + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.lua + + fenced_code_block_makefile begin - (^|\G)\s*(([`~]){3,})\s*(Makefile|makefile|GNUmakefile|OCamlMakefile)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((Makefile|makefile|GNUmakefile|OCamlMakefile)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.makefile + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.makefile + + fenced_code_block_perl begin - (^|\G)\s*(([`~]){3,})\s*(perl|pl|pm|pod|t|PL|psgi|vcl)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((perl|pl|pm|pod|t|PL|psgi|vcl)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.perl + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.perl + + fenced_code_block_r begin - (^|\G)\s*(([`~]){3,})\s*(R|r|s|S|Rprofile)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((R|r|s|S|Rprofile)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.r + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.r + + fenced_code_block_ruby begin - (^|\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+.*)?$ + (^|\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+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.ruby + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.ruby + + @@ -706,477 +1038,1562 @@ scenarios, and also appears to be consistent with the approach that GitHub takes. begin - (^|\G)\s*(([`~]){3,})\s*(php|php3|php4|php5|phpt|phtml|aw|ctp)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((php|php3|php4|php5|phpt|phtml|aw|ctp)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - comment - - Left to its own devices, the PHP grammar will match HTML as a combination of operators - and constants. Therefore, HTML must take precedence over PHP in order to get proper - syntax highlighting. - - include - text.html.basic - - - include - text.html.php#language + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + comment + + + + Left to its own devices, the PHP grammar will match HTML as a combination of operators + and constants. Therefore, HTML must take precedence over PHP in order to get proper + syntax highlighting. + + include + text.html.basic + + + include + text.html.php#language + + fenced_code_block_sql begin - (^|\G)\s*(([`~]){3,})\s*(sql|ddl|dml)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((sql|ddl|dml)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.sql + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.sql + + fenced_code_block_vs_net begin - (^|\G)\s*(([`~]){3,})\s*(vb)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((vb)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.asp.vb.net + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.asp.vb.net + + fenced_code_block_xml begin - (^|\G)\s*(([`~]){3,})\s*(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.xml + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.xml + + fenced_code_block_xsl begin - (^|\G)\s*(([`~]){3,})\s*(xsl|xslt)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((xsl|xslt)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.xml.xsl + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.xml.xsl + + fenced_code_block_yaml begin - (^|\G)\s*(([`~]){3,})\s*(yaml|yml)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((yaml|yml)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.yaml + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.yaml + + fenced_code_block_dosbatch begin - (^|\G)\s*(([`~]){3,})\s*(bat|batch)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((bat|batch)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.dosbatch + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.dosbatch + + fenced_code_block_clojure begin - (^|\G)\s*(([`~]){3,})\s*(clj|cljs|clojure)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((clj|cljs|clojure)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.clojure + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.clojure + + fenced_code_block_coffee begin - (^|\G)\s*(([`~]){3,})\s*(coffee|Cakefile|coffee.erb)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((coffee|Cakefile|coffee.erb)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.coffee + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.coffee + + fenced_code_block_c begin - (^|\G)\s*(([`~]){3,})\s*(c|h)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((c|h)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.c + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.c + + fenced_code_block_diff begin - (^|\G)\s*(([`~]){3,})\s*(patch|diff|rej)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((patch|diff|rej)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.diff + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.diff + + fenced_code_block_dockerfile begin - (^|\G)\s*(([`~]){3,})\s*(dockerfile|Dockerfile)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((dockerfile|Dockerfile)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.dockerfile + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.dockerfile + + fenced_code_block_git_commit begin - (^|\G)\s*(([`~]){3,})\s*(COMMIT_EDITMSG|MERGE_MSG)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((COMMIT_EDITMSG|MERGE_MSG)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.git-commit + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.git-commit + + fenced_code_block_git_rebase begin - (^|\G)\s*(([`~]){3,})\s*(git-rebase-todo)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((git-rebase-todo)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.git-rebase + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.git-rebase + + fenced_code_block_groovy begin - (^|\G)\s*(([`~]){3,})\s*(groovy|gvy)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((groovy|gvy)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.groovy + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.groovy + + fenced_code_block_jade begin - (^|\G)\s*(([`~]){3,})\s*(jade)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((jade)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - text.jade + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + text.jade + + fenced_code_block_js begin - (^|\G)\s*(([`~]){3,})\s*(js|jsx|javascript)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((js|jsx|javascript)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.js + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.js + + fenced_code_block_js_regexp begin - (^|\G)\s*(([`~]){3,})\s*(regexp)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((regexp)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.js.regexp + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.js.regexp + + fenced_code_block_json begin - (^|\G)\s*(([`~]){3,})\s*(json|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((json|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.json + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.json + + fenced_code_block_less begin - (^|\G)\s*(([`~]){3,})\s*(less)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((less)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.css.less + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.css.less + + fenced_code_block_objc begin - (^|\G)\s*(([`~]){3,})\s*(objectivec|mm|objc|obj-c|m|h)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((objectivec|mm|objc|obj-c|m|h)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.objc + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.objc + + fenced_code_block_perl6 begin - (^|\G)\s*(([`~]){3,})\s*(perl6|p6|pl6|pm6|nqp)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((perl6|p6|pl6|pm6|nqp)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.perl.6 + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.perl.6 + + fenced_code_block_powershell begin - (^|\G)\s*(([`~]){3,})\s*(powershell|ps1|psm1|psd1)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((powershell|ps1|psm1|psd1)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.powershell + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.powershell + + fenced_code_block_python begin - (^|\G)\s*(([`~]){3,})\s*(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.python + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.python + + fenced_code_block_regexp_python begin - (^|\G)\s*(([`~]){3,})\s*(re)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((re)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.regexp.python + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.regexp.python + + fenced_code_block_shell begin - (^|\G)\s*(([`~]){3,})\s*(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.shell + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.shell + + fenced_code_block_ts begin - (^|\G)\s*(([`~]){3,})\s*(typescript|ts)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((typescript|ts)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.ts + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.ts + + fenced_code_block_tsx begin - (^|\G)\s*(([`~]){3,})\s*(tsx)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((tsx)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.tsx + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.tsx + + fenced_code_block_csharp begin - (^|\G)\s*(([`~]){3,})\s*(cs|csharp|c#)(\s+.*)?$ + (^|\G)(\s*)([`~]{3,})\s*((cs|csharp|c#)(\s+.*)?$) name markup.fenced_code.block.markdown - while - (^|\G)(?!\s*\2\3*\s*$) + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 5 + + name + fenced_code.block.language + + 6 + + name + fenced_code.block.language.attributes + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + patterns - include - source.cs + begin + (^|\G)(\s*)(.*) + while + (^|\G)(?!\s*([`~]{3,})\s*$) + patterns + + + include + source.cs + + + fenced_code_block_unknown + + name + markup.fenced_code.block.markdown + begin + (^|\G)(\s*)([`~]{3,})\s*(.*)?$ + end + (^|\G)(\2|\s{0,3})(\3)\s*$ + beginCaptures + + 3 + + name + punctuation.definition.markdown + + 4 + + name + fenced_code.block.language + + + endCaptures + + 3 + + name + punctuation.definition.markdown + + + + raw_block + + begin + (^|\G)([ ]{4}|\t) + name + markup.raw.block.markdown + while + (^|\G)([ ]{4}|\t) + separator match diff --git a/extensions/markdown/test/colorize-results/test_md.json b/extensions/markdown/test/colorize-results/test_md.json index be3e30c55c0..ffb4d5d66e8 100644 --- a/extensions/markdown/test/colorize-results/test_md.json +++ b/extensions/markdown/test/colorize-results/test_md.json @@ -1827,7 +1827,7 @@ }, { "c": "~~~", - "t": "markdown.meta.paragraph", + "t": "block.definition.fenced_code.markdown.markup.punctuation", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -1838,7 +1838,7 @@ }, { "c": "// Markdown extra adds un-indented code blocks too", - "t": "markdown.meta.paragraph", + "t": "block.fenced_code.markdown.markup", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -1848,74 +1848,8 @@ } }, { - "c": "if (this", - "t": "markdown.meta.paragraph", - "r": { - "dark_plus": ".vs-dark .token rgb(212, 212, 212)", - "light_plus": ".vs .token rgb(0, 0, 0)", - "dark_vs": ".vs-dark .token rgb(212, 212, 212)", - "light_vs": ".vs .token rgb(0, 0, 0)", - "hc_black": ".hc-black .token rgb(255, 255, 255)" - } - }, - { - "c": "_", - "t": "definition.italic.markdown.markup.meta.paragraph.punctuation", - "r": { - "dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.markup.italic rgb(212, 212, 212)", - "light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.markup.italic rgb(0, 0, 0)", - "dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.markup.italic rgb(212, 212, 212)", - "light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.markup.italic rgb(0, 0, 0)", - "hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.markup.italic rgb(255, 255, 255)" - } - }, - { - "c": "is", - "t": "italic.markdown.markup.meta.paragraph", - "r": { - "dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.markup.italic rgb(212, 212, 212)", - "light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.markup.italic rgb(0, 0, 0)", - "dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.markup.italic rgb(212, 212, 212)", - "light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.markup.italic rgb(0, 0, 0)", - "hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.markup.italic rgb(255, 255, 255)" - } - }, - { - "c": "_", - "t": "definition.italic.markdown.markup.meta.paragraph.punctuation", - "r": { - "dark_plus": ".vs-dark.vscode-theme-defaults-themes-dark_plus-json .token.markup.italic rgb(212, 212, 212)", - "light_plus": ".vs.vscode-theme-defaults-themes-light_plus-json .token.markup.italic rgb(0, 0, 0)", - "dark_vs": ".vs-dark.vscode-theme-defaults-themes-dark_vs-json .token.markup.italic rgb(212, 212, 212)", - "light_vs": ".vs.vscode-theme-defaults-themes-light_vs-json .token.markup.italic rgb(0, 0, 0)", - "hc_black": ".hc-black.vscode-theme-defaults-themes-hc_black-json .token.markup.italic rgb(255, 255, 255)" - } - }, - { - "c": "more_code == true ", - "t": "markdown.meta.paragraph", - "r": { - "dark_plus": ".vs-dark .token rgb(212, 212, 212)", - "light_plus": ".vs .token rgb(0, 0, 0)", - "dark_vs": ".vs-dark .token rgb(212, 212, 212)", - "light_vs": ".vs .token rgb(0, 0, 0)", - "hc_black": ".hc-black .token rgb(255, 255, 255)" - } - }, - { - "c": "&&", - "t": "markdown.meta.other.paragraph.valid-ampersand", - "r": { - "dark_plus": ".vs-dark .token rgb(212, 212, 212)", - "light_plus": ".vs .token rgb(0, 0, 0)", - "dark_vs": ".vs-dark .token rgb(212, 212, 212)", - "light_vs": ".vs .token rgb(0, 0, 0)", - "hc_black": ".hc-black .token rgb(255, 255, 255)" - } - }, - { - "c": " !indented) {", - "t": "markdown.meta.paragraph", + "c": "if (this_is_more_code == true && !indented) {", + "t": "block.fenced_code.markdown.markup", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -1926,7 +1860,7 @@ }, { "c": " // tild wrapped code blocks, also not indented", - "t": "markdown.meta.paragraph", + "t": "block.fenced_code.markdown.markup", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -1937,7 +1871,7 @@ }, { "c": "}", - "t": "markdown.meta.paragraph", + "t": "block.fenced_code.markdown.markup", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -1948,7 +1882,7 @@ }, { "c": "~~~", - "t": "markdown.meta.paragraph", + "t": "block.definition.fenced_code.markdown.markup.punctuation", "r": { "dark_plus": ".vs-dark .token rgb(212, 212, 212)", "light_plus": ".vs .token rgb(0, 0, 0)", @@ -2595,4 +2529,4 @@ "hc_black": ".hc-black .token rgb(255, 255, 255)" } } -] \ No newline at end of file +]