diff --git a/syntaxes/LaTeX.tmLanguage.json b/syntaxes/LaTeX.tmLanguage.json index 75c02cf..5c01388 100644 --- a/syntaxes/LaTeX.tmLanguage.json +++ b/syntaxes/LaTeX.tmLanguage.json @@ -1881,6 +1881,58 @@ } ] }, + { + "begin": "((\\\\)cacheMeCode(?=\\[))", + "end": "(?<=\\})", + "beginCaptures": { + "1": { + "name": "support.function.verb.latex" + }, + "2": { + "name": "punctuation.definition.function.latex" + } + }, + "patterns": [ + { + "begin": "\\[", + "end": "\\]", + "beginCaptures": { + "0": { + "name": "punctuation.definition.arguments.optional.begin.latex" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.arguments.optional.end.latex" + } + }, + "patterns": [ + { + "include": "text.tex#braces" + }, + { + "include": "$base" + } + ] + }, + { + "begin": "(?<=\\])\\{", + "end": "\\}", + "beginCaptures": { + "0": { + "name": "punctuation.definition.arguments.begin.latex" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.arguments.end.latex" + } + }, + "contentName": "meta.function.embedded.latex", + "name": "meta.embedded.block.generic.latex" + } + ] + }, { "begin": "((\\\\)addplot)(?:\\+?)((?:\\[[^\\[]*\\]))*\\s*(gnuplot)\\s*((?:\\[[^\\[]*\\]))*\\s*(\\{)", "captures": { diff --git a/syntaxes/src/LaTeX.tmLanguage.base.yaml b/syntaxes/src/LaTeX.tmLanguage.base.yaml index b3149bc..4ade061 100644 --- a/syntaxes/src/LaTeX.tmLanguage.base.yaml +++ b/syntaxes/src/LaTeX.tmLanguage.base.yaml @@ -155,6 +155,35 @@ patterns: contentName: meta.function.embedded.latex end: ^\s*(?=\\end\{terminal\*?\}) name: meta.embedded.block.generic.latex +- begin: ((\\)cacheMeCode(?=\[)) + end: (?<=\}) + beginCaptures: + '1': + name: support.function.verb.latex + '2': + name: punctuation.definition.function.latex + patterns: + - begin: \[ + end: \] + beginCaptures: + '0': + name: punctuation.definition.arguments.optional.begin.latex + endCaptures: + '0': + name: punctuation.definition.arguments.optional.end.latex + patterns: + - include: text.tex#braces + - include: $base + - begin: (?<=\])\{ + end: \} + beginCaptures: + '0': + name: punctuation.definition.arguments.begin.latex + endCaptures: + '0': + name: punctuation.definition.arguments.end.latex + contentName: meta.function.embedded.latex + name: meta.embedded.block.generic.latex - begin: ((\\)addplot)(?:\+?)((?:\[[^\[]*\]))*\s*(gnuplot)\s*((?:\[[^\[]*\]))*\s*(\{) captures: '1':