From 0af4f80b051adfb7a46f3bb9499bcc1aa4ba0665 Mon Sep 17 00:00:00 2001 From: Jerome Lelong Date: Tue, 21 Oct 2025 10:46:46 +0200 Subject: [PATCH] Make pair colorizer ignore \@ifnextchar (#272329) Make pair colorizer ignore \@ifnextchar --- extensions/latex/cgmanifest.json | 2 +- extensions/latex/package.json | 3 +++ extensions/latex/syntaxes/TeX.tmLanguage.json | 9 ++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/extensions/latex/cgmanifest.json b/extensions/latex/cgmanifest.json index c23c98bd760..3dc5c4baef7 100644 --- a/extensions/latex/cgmanifest.json +++ b/extensions/latex/cgmanifest.json @@ -6,7 +6,7 @@ "git": { "name": "jlelong/vscode-latex-basics", "repositoryUrl": "https://github.com/jlelong/vscode-latex-basics", - "commitHash": "84ce12aa6be384369ff218ac25efb27e6f34e78c" + "commitHash": "ca85e20304afcb5c6a28a6e0b9fc1ead8f124001" } }, "license": "MIT", diff --git a/extensions/latex/package.json b/extensions/latex/package.json index 73e1829f73f..18bbd6cec32 100644 --- a/extensions/latex/package.json +++ b/extensions/latex/package.json @@ -72,6 +72,9 @@ "language": "latex", "scopeName": "text.tex.latex", "path": "./syntaxes/LaTeX.tmLanguage.json", + "unbalancedBracketScopes": [ + "keyword.control.ifnextchar.tex" + ], "embeddedLanguages": { "source.cpp": "cpp_embedded_latex", "source.css": "css", diff --git a/extensions/latex/syntaxes/TeX.tmLanguage.json b/extensions/latex/syntaxes/TeX.tmLanguage.json index b31ccccb631..f4e926c9cf0 100644 --- a/extensions/latex/syntaxes/TeX.tmLanguage.json +++ b/extensions/latex/syntaxes/TeX.tmLanguage.json @@ -4,7 +4,7 @@ "If you want to provide a fix or improvement, please create a pull request against the original repository.", "Once accepted there, we are happy to receive an update request." ], - "version": "https://github.com/jlelong/vscode-latex-basics/commit/6bd99800f7b2cbd0e36cecb56fe1936da5affadb", + "version": "https://github.com/jlelong/vscode-latex-basics/commit/ca85e20304afcb5c6a28a6e0b9fc1ead8f124001", "name": "TeX", "scopeName": "text.tex", "patterns": [ @@ -31,6 +31,9 @@ "match": "\\\\\\\\", "name": "keyword.control.newline.tex" }, + { + "include": "#ifnextchar" + }, { "include": "#macro-general" } @@ -86,6 +89,10 @@ } ] }, + "ifnextchar": { + "match": "\\\\@ifnextchar[({\\[]", + "name": "keyword.control.ifnextchar.tex" + }, "macro-control": { "match": "(\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![a-zA-Z@])", "captures": {