diff --git a/messages/next.md b/messages/next.md index eb2fb34e..0dd8c1db 100644 --- a/messages/next.md +++ b/messages/next.md @@ -5,7 +5,9 @@ feedback you can use [GitHub issues][issues]. ## Bug Fixes -- improve code span patterns in table cells +* improve code span patterns in table cells +* Fix Terraform syntax highlighting in fenced code blocks (#765) +* add missing language tag names to detect fenced code block syntaxes ## New Features diff --git a/syntaxes/Code Block Syntaxes.sublime-completions b/syntaxes/Code Block Syntaxes.sublime-completions new file mode 100644 index 00000000..abec35fd --- /dev/null +++ b/syntaxes/Code Block Syntaxes.sublime-completions @@ -0,0 +1,717 @@ +{ + "scope": "text.html.markdown meta.code-fence.definition.begin", + "completions": [ + + // ActionScript + { + "trigger": "actionscript", + "annotation": "ActionScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ActionScript code highlighting" + }, + { + "trigger": "as", + "annotation": "ActionScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ActionScript code highlighting" + }, + + // AppleScript + { + "trigger": "applescript", + "annotation": "AppleScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies AppleScript code highlighting" + }, + { + "trigger": "osascript", + "annotation": "AppleScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies AppleScript code highlighting" + }, + { + "trigger": "scpt", + "annotation": "AppleScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies AppleScript code highlighting" + }, + + // C++ + { + "trigger": "c", + "annotation": "C source", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C code highlighting" + }, + { + "trigger": "cpp", + "annotation": "C++ source", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + { + "trigger": "cxx", + "annotation": "C++ source", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + { + "trigger": "c++", + "annotation": "C++ source", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + { + "trigger": "h", + "annotation": "C header", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C code highlighting" + }, + { + "trigger": "hpp", + "annotation": "C++ header", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + { + "trigger": "hxx", + "annotation": "C++ header", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + { + "trigger": "h++", + "annotation": "C++ header", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C++ code highlighting" + }, + + // C# + { + "trigger": "csharp", + "annotation": "C#", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C# code highlighting" + }, + { + "trigger": "cs", + "annotation": "C#", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C# code highlighting" + }, + { + "trigger": "c#", + "annotation": "C#", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies C# code highlighting" + }, + + // Clojure + { + "trigger": "clojure", + "annotation": "Clojure", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Clojure code highlighting" + }, + { + "trigger": "clj", + "annotation": "Clojure", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Clojure code highlighting" + }, + + // CSS + { + "trigger": "css", + "annotation": "Stylesheet", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies CSS code highlighting" + }, + + // Diff + { + "trigger": "diff", + "annotation": "Diff", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Diff code highlighting" + }, + { + "trigger": "udiff", + "annotation": "Unified Diff", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Diff code highlighting" + }, + { + "trigger": "patch", + "annotation": "Patch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Patch code highlighting" + }, + + // Dosbatch + { + "trigger": "bat", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + { + "trigger": "batch", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + { + "trigger": "batchfile", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + { + "trigger": "cmd", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + { + "trigger": "dosbatch", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + { + "trigger": "winbatch", + "annotation": "DOS batch", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies DOS batch code highlighting" + }, + + // Erlang + { + "trigger": "erl", + "annotation": "Erlang", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Erlang code highlighting" + }, + { + "trigger": "erlang", + "annotation": "Erlang", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Erlang code highlighting" + }, + { + "trigger": "escript", + "annotation": "Erlang Script", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Erlang code highlighting" + }, + + // Go + { + "trigger": "go", + "annotation": "Go", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Go code highlighting" + }, + { + "trigger": "golang", + "annotation": "Go", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Go code highlighting" + }, + + // GraphViz + { + "trigger": "dot", + "annotation": "GraphViz", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies GraphViz code highlighting" + }, + { + "trigger": "graphviz", + "annotation": "GraphViz", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies GraphViz code highlighting" + }, + { + "trigger": "gv", + "annotation": "GraphViz", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies GraphViz code highlighting" + }, + + // Haskell + { + "trigger": "haskell", + "annotation": "Haskell", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Haskell code highlighting" + }, + { + "trigger": "hs", + "annotation": "Haskell", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Haskell code highlighting" + }, + { + "trigger": "hsc", + "annotation": "Haskell C binding", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Haskell code highlighting" + }, + + // HTML + { + "trigger": "html", + "annotation": "HTML", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies HTML code highlighting" + }, + { + "trigger": "xhtml", + "annotation": "HTML", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies HTML code highlighting" + }, + + // Java + { + "trigger": "java", + "annotation": "Java", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Java code highlighting" + }, + { + "trigger": "jsp", + "annotation": "Java Server Pages", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Java Server Pages code highlighting" + }, + { + "trigger": "jspx", + "annotation": "Java Server Pages", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Java Server Pages code highlighting" + }, + + // JavaScript + { + "trigger": "javascript", + "annotation": "JavaScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JavaScript code highlighting" + }, + { + "trigger": "js", + "annotation": "JavaScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JavaScript code highlighting" + }, + { + "trigger": "node", + "annotation": "JavaScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JavaScript code highlighting" + }, + { + "trigger": "jsx", + "annotation": "JavaScript React", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JavaScript React code highlighting" + }, + { + "trigger": "ts", + "annotation": "TypeScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies TypeScript code highlighting" + }, + { + "trigger": "tsnode", + "annotation": "TypeScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies TypeScript code highlighting" + }, + { + "trigger": "tsx", + "annotation": "TypeScript React", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies TypeScript React code highlighting" + }, + { + "trigger": "typescript", + "annotation": "TypeScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies TypeScript code highlighting" + }, + + // JSON + { + "trigger": "json", + "annotation": "JSON", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JSON code highlighting" + }, + { + "trigger": "jsonc", + "annotation": "JSON with Comments", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies JSON with Comments code highlighting" + }, + + // LaTeX + { + "trigger": "tex", + "annotation": "TeX", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies TeX code highlighting" + }, + { + "trigger": "latex", + "annotation": "LaTeX", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies LaTeX code highlighting" + }, + + // Lisp + { + "trigger": "lisp", + "annotation": "Lisp", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Lisp code highlighting" + }, + + // Lua + { + "trigger": "lua", + "annotation": "Lua", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Lua code highlighting" + }, + + // Makefile + { + "trigger": "make", + "annotation": "Makefile", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Makefile code highlighting" + }, + { + "trigger": "makefile", + "annotation": "Makefile", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Makefile code highlighting" + }, + { + "trigger": "mf", + "annotation": "Makefile", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Makefile code highlighting" + }, + + // Matlab + { + "trigger": "matlab", + "annotation": "MatLab", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies MatLab code highlighting" + }, + + // Objective C++ + { + "trigger": "objc", + "annotation": "Objective-C", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C code highlighting" + }, + { + "trigger": "objectivec", + "annotation": "Objective-C", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C code highlighting" + }, + { + "trigger": "obj-c", + "annotation": "Objective-C", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C code highlighting" + }, + { + "trigger": "objective-c", + "annotation": "Objective-C", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C code highlighting" + }, + { + "trigger": "objc++", + "annotation": "Objective-C++", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C++ code highlighting" + }, + { + "trigger": "objectivec++", + "annotation": "Objective-C++", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C++ code highlighting" + }, + { + "trigger": "obj-c++", + "annotation": "Objective-C++", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C++ code highlighting" + }, + { + "trigger": "objective-c++", + "annotation": "Objective-C++", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Objective-C++ code highlighting" + }, + + // OCaml + { + "trigger": "ocaml", + "annotation": "OCaml", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies OCaml code highlighting" + }, + + // Perl + { + "trigger": "perl", + "annotation": "Perl 5", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Perl 5 code highlighting" + }, + { + "trigger": "perl5", + "annotation": "Perl 5", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Perl 5 code highlighting" + }, + + // PHP + { + "trigger": "html+php", + "annotation": "PHP", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies HTML+PHP code highlighting" + }, + { + "trigger": "phtml", + "annotation": "PHP", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies HTML+PHP code highlighting" + }, + { + "trigger": "inc", + "annotation": "PHP", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies PHP code highlighting" + }, + { + "trigger": "php", + "annotation": "PHP", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies PHP code highlighting" + }, + + // Python + { + "trigger": "python", + "annotation": "Python", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Python code highlighting" + }, + { + "trigger": "python3", + "annotation": "Python", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Python code highlighting" + }, + { + "trigger": "py", + "annotation": "Python", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Python code highlighting" + }, + + // R + { + "trigger": "r", + "annotation": "R", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies R code highlighting" + }, + { + "trigger": "splus", + "annotation": "R", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies R code highlighting" + }, + + // Ruby + { + "trigger": "ruby", + "annotation": "Ruby", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Ruby code highlighting" + }, + { + "trigger": "rb", + "annotation": "Ruby", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Ruby code highlighting" + }, + { + "trigger": "rbx", + "annotation": "Ruby on Rails", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Ruby on Rails code highlighting" + }, + + // Regular Expressions + { + "trigger": "regex", + "annotation": "Regular Expressions", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Regular Expressions code highlighting" + }, + { + "trigger": "regexp", + "annotation": "Regular Expressions", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Regular Expressions code highlighting" + }, + + // Rust + { + "trigger": "rust", + "annotation": "Rust", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Rust code highlighting" + }, + { + "trigger": "rs", + "annotation": "Rust", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Rust code highlighting" + }, + { + "trigger": "rscript", + "annotation": "R Script", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies R Script code highlighting" + }, + + // Scala + { + "trigger": "scala", + "annotation": "Scala", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies Scala code highlighting" + }, + + // ShellScript + { + "trigger": "bash", + "annotation": "Bourne Against Shell", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + { + "trigger": "console", + "annotation": "ShellScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + { + "trigger": "shell-script", + "annotation": "ShellScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + { + "trigger": "shell", + "annotation": "ShellScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + { + "trigger": "sh", + "annotation": "ShellScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + { + "trigger": "zsh", + "annotation": "ShellScript", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies ShellScript code highlighting" + }, + + // SQL + { + "trigger": "sql", + "annotation": "SQL", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies SQL code highlighting" + }, + + // XML + { + "trigger": "atom", + "annotation": "ATOM", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "plist", + "annotation": "PList", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "svg", + "annotation": "SVG", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "xjb", + "annotation": "XJB", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "xml", + "annotation": "XML", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "xsd", + "annotation": "XSD", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + { + "trigger": "xsl", + "annotation": "XSL", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies XML code highlighting" + }, + + // YAML + { + "trigger": "yaml", + "annotation": "YAML", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies YAML code highlighting" + }, + { + "trigger": "yml", + "annotation": "YAML", + "kind": ["markup", "s", "Syntax"], + "details": "Specifies YAML code highlighting" + }, + ], +} diff --git a/syntaxes/Markdown.sublime-syntax b/syntaxes/Markdown.sublime-syntax index 23518a85..b8fe682e 100644 --- a/syntaxes/Markdown.sublime-syntax +++ b/syntaxes/Markdown.sublime-syntax @@ -1209,7 +1209,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(applescript|osascript)) + (?i:\s*(applescript|osascript|scpt)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.applescript.markdown-gfm @@ -1341,7 +1341,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(diff|patch)) + (?i:\s*(u?diff|patch)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.diff.markdown-gfm @@ -1363,7 +1363,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(bat|cmd|dos)) + (?i:\s*(bat(?:ch(?:file)?)?|cmd|(?:dos|win)batch)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.dosbatch.markdown-gfm @@ -1385,7 +1385,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(erlang|escript)) + (?i:\s*(erl(?:ang)?|escript)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.erlang.markdown-gfm @@ -1407,7 +1407,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(graphviz)) + (?i:\s*(dot|graphviz|gv)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.graphviz.markdown-gfm @@ -1451,7 +1451,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(haskell)) + (?i:\s*(haskell|hsc?)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.haskell.markdown-gfm @@ -1473,7 +1473,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(html\+php)) + (?i:\s*(html\+php|phtml)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.html-php.markdown-gfm @@ -1495,7 +1495,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(html)) + (?i:\s*(x?html)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.html.markdown-gfm @@ -1539,7 +1539,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(javascript|js)) + (?i:\s*(javascript|js|node)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.javascript.markdown-gfm @@ -1693,7 +1693,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(makefile)) + (?i:\s*(make(?:file)?|mf)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.makefile.markdown-gfm @@ -1803,7 +1803,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(perl)) + (?i:\s*(perl5?)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.perl.markdown-gfm @@ -1847,7 +1847,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(python|py)) + (?i:\s*(python3?|py)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.python.markdown-gfm @@ -2067,7 +2067,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} - (?i:\s*(typescript|ts)) + (?i:\s*(typescript|ts(?:node)?)) {{fenced_code_block_trailing_infostring_characters}} captures: 0: meta.code-fence.definition.begin.typescript.markdown-gfm @@ -2737,10 +2737,10 @@ contexts: 5: constant.other.language-name.markdown 6: comment.line.infostring.markdown 7: meta.fold.code-fence.begin.markdown - embed: scope:source.json.terraform + embed: scope:source.terraform embed_scope: markup.raw.code-fence.terraform.markdown-gfm - source.json.terraform + source.terraform escape: '{{fenced_code_block_escape}}' escape_captures: 0: meta.code-fence.definition.end.terraform.markdown-gfm