README.md

Wed, 13 May 2020 15:40:47 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 13 May 2020 15:40:47 -0500
changeset 11
3633d38b64bd
parent 9
caaf16def702
child 13
15b8d7242ad9
child 15
a65b8c098aa6
permissions
-rw-r--r--

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

mercurial