UNPKG

tm-grammars

Version:
1,644 lines 134 kB
{ "displayName": "LaTeX", "name": "latex", "patterns": [ { "match": "(?<=\\\\(?:[@\\w]|[@\\w]{2}|[@\\w]{3}|[@\\w]{4}|[@\\w]{5}|[@\\w]{6}))\\s", "name": "meta.space-after-command.latex" }, { "include": "#songs-env" }, { "include": "#embedded-code-env" }, { "include": "#verbatim-env" }, { "include": "#document-env" }, { "include": "#all-balanced-env" }, { "include": "#documentclass-usepackage-macro" }, { "include": "#input-macro" }, { "include": "#sections-macro" }, { "include": "#hyperref-macro" }, { "include": "#newcommand-macro" }, { "include": "#text-font-macro" }, { "include": "#citation-macro" }, { "include": "#references-macro" }, { "include": "#label-macro" }, { "include": "#verb-macro" }, { "include": "#inline-code-macro" }, { "include": "#all-other-macro" }, { "include": "#display-math" }, { "include": "#inline-math" }, { "include": "#column-specials" }, { "include": "text.tex" } ], "repository": { "all-balanced-env": { "patterns": [ { "begin": "\\s*((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\s*\\n)?", "captures": { "1": { "name": "support.function.be.latex" }, "2": { "name": "punctuation.definition.function.latex" }, "3": { "name": "punctuation.definition.arguments.begin.latex" }, "4": { "name": "variable.parameter.function.latex" }, "5": { "name": "punctuation.definition.arguments.end.latex" } }, "contentName": "meta.math.block.latex support.class.math.block.environment.latex", "end": "\\s*((\\\\)end)(\\{)(\\4)(})(?:\\s*\\n)?", "name": "meta.function.environment.math.latex", "patterns": [ { "match": "(?<!\\\\)&", "name": "keyword.control.equation.align.latex" }, { "match": "\\\\\\\\", "name": "keyword.control.equation.newline.latex" }, { "include": "#label-macro" }, { "include": "text.tex#math-content" }, { "include": "$self" } ] }, { "begin": "\\s*(\\\\begin\\{empheq}(?:\\[.*])?)", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "contentName": "meta.math.block.latex support.class.math.block.environment.latex", "end": "\\s*(\\\\end\\{empheq})", "name": "meta.function.environment.math.latex", "patterns": [ { "match": "(?<!\\\\)&", "name": "keyword.control.equation.align.latex" }, { "match": "\\\\\\\\", "name": "keyword.control.equation.newline.latex" }, { "include": "#label-macro" }, { "include": "text.tex#math-content" }, { "include": "$self" } ] }, { "begin": "(\\s*\\\\begin\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\s*\\n)?)", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "contentName": "meta.data.environment.tabular.latex", "end": "(\\s*\\\\end\\{(\\2)}(?:\\s*\\n)?)", "name": "meta.function.environment.tabular.latex", "patterns": [ { "match": "(?<!\\\\)&", "name": "keyword.control.table.cell.latex" }, { "match": "\\\\\\\\", "name": "keyword.control.table.newline.latex" }, { "include": "$self" } ] }, { "begin": "(\\s*\\\\begin\\{(itemize|enumerate|description|list)})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "(\\\\end\\{\\2}(?:\\s*\\n)?)", "name": "meta.function.environment.list.latex", "patterns": [ { "include": "$self" } ] }, { "begin": "(\\s*\\\\begin\\{tikzpicture})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "(\\\\end\\{tikzpicture}(?:\\s*\\n)?)", "name": "meta.function.environment.latex.tikz", "patterns": [ { "include": "$self" } ] }, { "begin": "(\\s*\\\\begin\\{frame})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "(\\\\end\\{frame})", "name": "meta.function.environment.frame.latex", "patterns": [ { "include": "$self" } ] }, { "begin": "(\\s*\\\\begin\\{(mpost\\*?)})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "(\\\\end\\{\\2}(?:\\s*\\n)?)", "name": "meta.function.environment.latex.mpost" }, { "begin": "(\\s*\\\\begin\\{markdown})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "contentName": "meta.embedded.markdown_latex_combined", "end": "(\\\\end\\{markdown})", "patterns": [ { "include": "text.tex.markdown_latex_combined" } ] }, { "begin": "(\\s*\\\\begin\\{(\\p{Alphabetic}+\\*?)})", "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "(\\\\end\\{\\2}(?:\\s*\\n)?)", "name": "meta.function.environment.general.latex", "patterns": [ { "include": "$self" } ] } ] }, "all-other-macro": { "patterns": [ { "match": "\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\b", "name": "keyword.control.layout.latex" }, { "begin": "((\\\\)marginpar)((?:\\[[^\\[]*?])*)(\\{)", "beginCaptures": { "1": { "name": "support.function.marginpar.latex" }, "2": { "name": "punctuation.definition.function.latex" }, "3": { "patterns": [ { "include": "#optional-arg-bracket" } ] }, "4": { "name": "punctuation.definition.marginpar.begin.latex" } }, "contentName": "meta.paragraph.margin.latex", "end": "}", "endCaptures": { "0": { "name": "punctuation.definition.marginpar.end.latex" } }, "patterns": [ { "include": "#braces" }, { "include": "$self" } ] }, { "begin": "((\\\\)footnote)((?:\\[[^\\[]*?])*)(\\{)", "beginCaptures": { "1": { "name": "support.function.footnote.latex" }, "2": { "name": "punctuation.definition.function.latex" }, "3": { "patterns": [ { "include": "#optional-arg-bracket" } ] }, "4": { "name": "punctuation.definition.footnote.begin.latex" } }, "contentName": "entity.name.footnote.latex", "end": "}", "endCaptures": { "0": { "name": "punctuation.definition.footnote.end.latex" } }, "patterns": [ { "include": "#braces" }, { "include": "$self" } ] }, { "captures": { "0": { "name": "keyword.other.item.latex" }, "1": { "name": "punctuation.definition.keyword.latex" } }, "match": "(\\\\)item\\b", "name": "meta.scope.item.latex" }, { "captures": { "1": { "name": "punctuation.definition.constant.latex" } }, "match": "(\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\b", "name": "constant.character.latex" }, { "captures": { "1": { "name": "punctuation.definition.variable.latex" } }, "match": "(\\\\)(?:[cgl]_+[@_\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\p{Alphabetic}]+[@\\p{Alphabetic}])", "name": "variable.other.latex3.latex" } ] }, "autocites-arg": { "patterns": [ { "captures": { "1": { "patterns": [ { "include": "#optional-arg-parenthesis-no-highlight" } ] }, "2": { "patterns": [ { "include": "#optional-arg-bracket-no-highlight" } ] }, "3": { "name": "punctuation.definition.arguments.begin.latex" }, "4": { "name": "constant.other.reference.citation.latex" }, "5": { "name": "punctuation.definition.arguments.end.latex" }, "6": { "patterns": [ { "include": "#autocites-arg" } ] } }, "match": "((?:\\([^)]*\\)){0,2})((?:\\[[^]]*]){0,2})(\\{)([-.:_\\p{Alphabetic}\\p{N}]+)(})(.*)" } ] }, "braces": { "begin": "(?<!\\\\)\\{", "beginCaptures": { "0": { "name": "punctuation.group.begin.latex" } }, "end": "(?<!\\\\)}", "endCaptures": { "0": { "name": "punctuation.group.end.latex" } }, "name": "meta.group.braces.latex", "patterns": [ { "include": "#text-font-macro" }, { "include": "#citation-macro" }, { "include": "#references-macro" }, { "include": "#label-macro" }, { "include": "#macro-with-args-tokenizer" }, { "include": "#all-other-macro" }, { "include": "text.tex" }, { "include": "#braces" } ] }, "citation-macro": { "begin": "((\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\*?)((?:(?:\\([^)]*\\)){0,2}(?:\\[[^]]*]){0,2}\\{[-.:_\\p{Alphabetic}\\p{N}]*})*)(<[^]<>]*>)?((?:\\[[^]]*])*)(\\{)", "captures": { "1": { "name": "keyword.control.cite.latex" }, "2": { "name": "punctuation.definition.keyword.latex" }, "3": { "patterns": [ { "include": "#autocites-arg" } ] }, "4": { "patterns": [ { "include": "#optional-arg-angle-no-highlight" } ] }, "5": { "patterns": [ { "include": "#optional-arg-bracket-no-highlight" } ] }, "6": { "name": "punctuation.definition.arguments.begin.latex" } }, "end": "}", "endCaptures": { "0": { "name": "punctuation.definition.arguments.end.latex" } }, "name": "meta.citation.latex", "patterns": [ { "captures": { "1": { "name": "comment.line.percentage.tex" }, "2": { "name": "punctuation.definition.comment.tex" } }, "match": "((%).*)$" }, { "match": "[-.:\\p{Alphabetic}\\p{N}]+", "name": "constant.other.reference.citation.latex" } ] }, "column-specials": { "captures": { "1": { "name": "punctuation.definition.column-specials.begin.latex" }, "2": { "name": "punctuation.definition.column-specials.end.latex" } }, "match": "[<>](\\{)\\$(})", "name": "meta.column-specials.latex" }, "display-math": { "patterns": [ { "begin": "\\\\\\[", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.latex" } }, "end": "\\\\]", "endCaptures": { "0": { "name": "punctuation.definition.string.end.latex" } }, "name": "meta.math.block.latex support.class.math.block.environment.latex", "patterns": [ { "include": "text.tex#math-content" }, { "include": "$self" } ] }, { "begin": "\\$\\$", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.latex" } }, "end": "\\$\\$", "endCaptures": { "0": { "name": "punctuation.definition.string.end.latex" } }, "name": "meta.math.block.latex support.class.math.block.environment.latex", "patterns": [ { "match": "\\\\\\$", "name": "constant.character.escape.latex" }, { "include": "text.tex#math-content" }, { "include": "$self" } ] } ] }, "document-env": { "patterns": [ { "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "match": "(\\s*\\\\begin\\{document})", "name": "meta.function.begin-document.latex" }, { "captures": { "1": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "match": "(\\s*\\\\end\\{document})", "name": "meta.function.end-document.latex" } ] }, "documentclass-usepackage-macro": { "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" } ] } ] }, "embedded-code-env": { "patterns": [ { "begin": "(?:^\\s*)?\\\\begin\\{(lstlisting|minted|pyglist)}(?=[\\[{])", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\\\end\\{\\1}", "patterns": [ { "include": "#multiline-optional-arg-no-highlight" }, { "begin": "(?:\\G|(?<=]))(\\{)(asy(?:|mptote))(})", "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(?:|pp))(})", "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|(?<=]))(\\{)(h(?:s|askell))(})", "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|(?<=]))(\\{)(j(?:l|ulia))(})", "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|(?<=]))(\\{)(j(?:s|avascript))(})", "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|(?<=]))(\\{)(r(?:b|uby))(})", "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|(?<=]))(\\{)(t(?:s|ypescript))(})", "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(?:|code)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{asy(?:|code)\\*?}", "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(?:|code)\\*?})", "patterns": [ { "include": "source.asymptote" } ] } ] }, { "begin": "\\s*\\\\begin\\{cppcode\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-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\\{dot(?:2tex|code)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{dot(?:2tex|code)\\*?}", "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\\{dot(?:2tex|code)\\*?})", "patterns": [ { "include": "source.dot" } ] } ] }, { "begin": "\\s*\\\\begin\\{gnuplot\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-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\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-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\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?}", "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\\{java(?:code|verbatim|block|concode|console|converbatim)\\*?})", "patterns": [ { "include": "source.java" } ] } ] }, { "begin": "\\s*\\\\begin\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?}", "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\\{jl(?:code|verbatim|block|concode|console|converbatim)\\*?})", "patterns": [ { "include": "source.julia" } ] } ] }, { "begin": "\\s*\\\\begin\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?}", "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\\{julia(?:code|verbatim|block|concode|console|converbatim)\\*?})", "patterns": [ { "include": "source.julia" } ] } ] }, { "begin": "\\s*\\\\begin\\{lua(?:code|draw)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{lua(?:code|draw)\\*?}", "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\\{lua(?:code|draw)\\*?})", "patterns": [ { "include": "source.lua" } ] } ] }, { "begin": "\\s*\\\\begin\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?}", "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\\{py(?:code|verbatim|block|concode|console|converbatim)\\*?})", "patterns": [ { "include": "source.python" } ] } ] }, { "begin": "\\s*\\\\begin\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?}", "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\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\*?})", "patterns": [ { "include": "source.python" } ] } ] }, { "begin": "\\s*\\\\begin\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|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|pythonq??|pythonrepl)\\*?})", "patterns": [ { "include": "source.python" } ] } ] }, { "begin": "\\s*\\\\begin\\{scalacode\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-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\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\*?}(?:\\[[-0-9A-Z_a-z]*])?(?=[\\[{]|\\s*$)", "captures": { "0": { "patterns": [ { "include": "#macro-with-args-tokenizer" } ] } }, "end": "\\s*\\\\end\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\*?}", "p