tm-grammars
Version:
Collecton of TextMate grammars in JSON
1,673 lines • 94.7 kB
JSON
{
"displayName": "LaTeX",
"name": "latex",
"patterns": [
{
"match": "(?<=\\\\[\\w@]|\\\\[\\w@]{2}|\\\\[\\w@]{3}|\\\\[\\w@]{4}|\\\\[\\w@]{5}|\\\\[\\w@]{6})\\s",
"name": "meta.space-after-command.latex"
},
{
"begin": "((\\\\)(?:usepackage|documentclass))\\b(?=\\[|\\{)",
"beginCaptures": {
"1": {
"name": "keyword.control.preamble.latex"
},
"2": {
"name": "punctuation.definition.function.latex"
}
},
"end": "(?<=\\})",
"endCaptures": {
"0": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"name": "meta.preamble.latex",
"patterns": [
{
"include": "#multiline-optional-arg"
},
{
"begin": "((?:\\G|(?<=\\]))\\{)",
"beginCaptures": {
"0": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "support.class.latex",
"end": "(\\})",
"endCaptures": {
"0": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "$self"
}
]
}
]
},
{
"begin": "((\\\\)(?:include|input))(\\{)",
"beginCaptures": {
"1": {
"name": "keyword.control.include.latex"
},
"2": {
"name": "punctuation.definition.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"name": "meta.include.latex",
"patterns": [
{
"include": "$self"
}
]
},
{
"begin": "((\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)(?:\\*)?)((?:\\[[^\\[]*?\\]){0,2})(\\{)",
"beginCaptures": {
"1": {
"name": "support.function.section.latex"
},
"2": {
"name": "punctuation.definition.function.latex"
},
"4": {
"patterns": [
{
"include": "#optional-arg-bracket"
}
]
},
"5": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "entity.name.section.latex",
"end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"name": "meta.function.section.$3.latex",
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "((?:\\s*)\\\\begin\\{songs\\}\\{.*\\})",
"captures": {
"1": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"contentName": "meta.data.environment.songs.latex",
"end": "(\\\\end\\{songs\\}(?:\\s*\\n)?)",
"name": "meta.function.environment.songs.latex",
"patterns": [
{
"begin": "\\\\\\[",
"end": "\\]",
"name": "meta.chord.block.latex support.class.chord.block.environment.latex",
"patterns": [
{
"include": "$self"
}
]
},
{
"match": "\\^",
"name": "meta.chord.block.latex support.class.chord.block.environment.latex"
},
{
"include": "$self"
}
]
},
{
"begin": "(?:^\\s*)?\\\\begin\\{(lstlisting|minted|pyglist)\\}(?=\\[|\\{)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\\\end\\{\\1\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:asy|asymptote))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.asy",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.asy"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:bash))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.shell",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.shell"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:c|cpp))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.cpp.embedded.latex",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.cpp.embedded.latex"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:css))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.css",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.css"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:gnuplot))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.gnuplot",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.gnuplot"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:hs|haskell))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.haskell",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.haskell"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:html))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "text.html",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "text.html.basic"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:java))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.java",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.java"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:jl|julia))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.julia",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.julia"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:js|javascript))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.js",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.js"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:lua))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.lua",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.lua"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:py|python|sage))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.python"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:rb|ruby))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.ruby",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.ruby"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:rust))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.rust",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.rust"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:ts|typescript))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.ts",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.ts"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:xml))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "text.xml",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "text.xml"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)((?:yaml))(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "source.yaml",
"end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
"patterns": [
{
"include": "source.yaml"
}
]
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)([a-zA-Z]*)(\\})",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
},
"2": {
"name": "variable.parameter.function.latex"
},
"3": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"contentName": "meta.function.embedded.latex",
"end": "^\\s*(?=\\\\end\\{(?:lstlisting|minted|pyglist)\\})",
"name": "meta.embedded.block.generic.latex"
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:asy|asycode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:asy|asycode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.asymptote",
"end": "^\\s*(?=\\\\end\\{(?:asy|asycode)\\*?\\})",
"patterns": [
{
"include": "source.asymptote"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:cppcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:cppcode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.cpp.embedded.latex",
"end": "^\\s*(?=\\\\end\\{(?:cppcode)\\*?\\})",
"patterns": [
{
"include": "source.cpp.embedded.latex"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:dot2tex|dotcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:dot2tex|dotcode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.dot",
"end": "^\\s*(?=\\\\end\\{(?:dot2tex|dotcode)\\*?\\})",
"patterns": [
{
"include": "source.dot"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:gnuplot)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:gnuplot)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.gnuplot",
"end": "^\\s*(?=\\\\end\\{(?:gnuplot)\\*?\\})",
"patterns": [
{
"include": "source.gnuplot"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:hscode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:hscode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.haskell",
"end": "^\\s*(?=\\\\end\\{(?:hscode)\\*?\\})",
"patterns": [
{
"include": "source.haskell"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:javacode|javaverbatim|javablock|javaconcode|javaconsole|javaconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:javacode|javaverbatim|javablock|javaconcode|javaconsole|javaconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.java",
"end": "^\\s*(?=\\\\end\\{(?:javacode|javaverbatim|javablock|javaconcode|javaconsole|javaconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.java"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.julia",
"end": "^\\s*(?=\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.julia"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.julia",
"end": "^\\s*(?=\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.julia"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:luacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:luacode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.lua",
"end": "^\\s*(?=\\\\end\\{(?:luacode)\\*?\\})",
"patterns": [
{
"include": "source.lua"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.python"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.python"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\})",
"patterns": [
{
"include": "source.python"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:scalacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:scalacode)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.scala",
"end": "^\\s*(?=\\\\end\\{(?:scalacode)\\*?\\})",
"patterns": [
{
"include": "source.scala"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "\\s*\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}",
"patterns": [
{
"include": "#multiline-optional-arg-no-highlight"
},
{
"begin": "(?:\\G|(?<=\\]))(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"contentName": "variable.parameter.function.latex",
"end": "(\\})",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
}
},
{
"begin": "^(?=\\s*)",
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\})",
"patterns": [
{
"include": "source.python"
}
]
}
]
},
{
"begin": "\\s*\\\\begin\\{((?:[a-zA-Z]*code|lstlisting|minted|pyglist)\\*?)\\}(?:\\[.*\\])?(?:\\{.*\\})?",
"captures": {
"0": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"contentName": "meta.function.embedded.latex",
"end": "\\\\end\\{\\1\\}(?:\\s*\\n)?",
"name": "meta.embedded.block.generic.latex"
},
{
"begin": "((?:^\\s*)?\\\\begin\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?))\\})(?:\\[[^\\]]*\\]){,2}(?=\\{)",
"captures": {
"1": {
"patterns": [
{
"include": "#begin-env-tokenizer"
}
]
}
},
"end": "(\\\\end\\{\\2\\})",
"patterns": [
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:asy|asymptote)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.asy",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.asy"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:bash)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.shell",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.shell"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:c|cpp)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.cpp.embedded.latex",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.cpp.embedded.latex"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:css)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.css",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.css"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:gnuplot)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.gnuplot",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.gnuplot"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:hs|haskell)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.haskell",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.haskell"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:html)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "text.html",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "text.html.basic"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:java)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.java",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.java"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:jl|julia)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.julia",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.julia"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:js|javascript)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.js",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.js"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:lua)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.lua",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.lua"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:py|python|sage)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.python",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.python"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:rb|ruby)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"begin": "\\G",
"end": "(\\})\\s*$",
"endCaptures": {
"1": {
"name": "punctuation.definition.arguments.end.latex"
}
},
"patterns": [
{
"include": "text.tex#braces"
},
{
"include": "$self"
}
]
},
{
"begin": "^(\\s*)",
"contentName": "source.ruby",
"end": "^\\s*(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patterns": [
{
"include": "source.ruby"
}
]
}
]
},
{
"begin": "\\G(\\{)(?:__|[a-z\\s]*)(?i:rust)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.arguments.begin.latex"
}
},
"end": "(?=\\\\end\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\*?|PlaceholderFromCode\\*?|SetPlaceholderCode\\*?)\\})",
"patt