Wed, 13 May 2020 15:40:47 -0500
Explain that extensions cannot seem to be able to contribute token colours.
# latex-syntax This package provides rich LaTeX _syntax highlighting_ for VSCode. It provides _only_ syntax highlighting: no annoying snippets etc. that only serve to mess up your work. It is recommended to be combined with [texlab][]. The latter provides language intelligence/auto-completion and a build system interface. The present package complements texlab with richer syntax highlighting. The grammar is derived from LaTeX-Workshop, but has improvements including a) Highlighting for the `todonotes` package: `\todo` as well as custom-defined `\XYtodo` for author initials `X` and `Y`. b) Footnote highlighting (`\footnote`, `\footnotemark`, and `\footnotetext`). c) Highlighting of `comment` environments as comment blocks. The highlighting of todo-notes and footnotes has to be specifically configured: see below. ### How to enable This package does not override the standard “LaTeX” grammar. It provides the “LaTeX+” grammar. Please select that as the default grammar for `.tex` files. ### Regarding `todonotes` and `footnote` support Unfortunately, VSCode does not appear to let extensions contribute token colours for syntax highlighting. Therefore, to enable syntax highlighting for `\todo` and `\footnote`, add the following (with possibly customised colours) to your user `settings.json` (Cmd+Shift+P, “Open Settings (JSON)”): ```json "editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "entity.name.todo.latex", "settings": { "foreground": "#d17000", "fontStyle": "italic", } }, { "scope": "support.function.todo.latex", "settings": { "foreground": "#d17000", "fontStyle": "italic", } }, { "scope": "entity.name.footnote.latex", "settings": { "foreground": "#e28000", "fontStyle": "italic", } }, { "scope": "support.function.footnote.latex", "settings": { "foreground": "#e28000", "fontStyle": "italic", } } ], }, ``` Initial-prefixed `\XYtodo` custom todonotes commands are also supported. For example, `\lstodo{a latex-syntax todo}` will be highlighted if you do the above colour customisations and in your LaTeX source define ```tex \newcommand{\lstodo}[2][]{\todo[color=DarkRed!40,#1]{#2}} ``` (The colour setting here only affects LaTeX output, not VSCode.) [texlab]: https://marketplace.visualstudio.com/items?itemName=efoerster.texlab