Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where can I find a list of all possible keys for tm-themes for syntax highlighting?

In the tmTheme file for my current text editor there are a number of options, including the ones in the code below. Is there a list somewhere that defines all possible tags that could be included in this list (eg. background, inactiveSelection, findHighlight, etc)?

<dict>

<key>background</key>
<string>#1a1a1a</string>

<key>caret</key>
<string>#B6ECF9AF</string>

<key>foreground</key>
<string>#ecf0f1</string>

<key>invisibles</key>
<string>#F3FFB51A</string>

<key>lineHighlight</key>
<string>#2a2a2a</string>

<key>selection</key>
<string>#e74c3c55</string>

<key>selectionForeground</key>
<string>#ffffff</string>

<key>findHighlight</key>
<string>#e74c3c</string>

<key>inactiveSelection</key>
<string>#e74c3c77</string>

<key>gutter</key>
<string>#2a2a2a</string>

<key>gutterForeground</key>
<string>#ffffff</string>

<key>guide</key>
<string>#222222</string>

<key>activeGuide</key>
<string>#ffffff</string>

</dict>

Another example with even more tags: Other Theme

If it's relevant, I'm using VSCode.

like image 854
Tyler Avatar asked Feb 08 '17 14:02

Tyler


People also ask

How do I highlight all codes in Visual Studio?

Ctrl + Shift + L to select all occurrences of current selection.

What does VS Code use for syntax highlighting?

TextMate grammars# VS Code uses TextMate grammars as the syntax tokenization engine. Invented for the TextMate editor, they have been adopted by many other editors and IDEs due to large number of language bundles created and maintained by the Open Source community.


1 Answers

tmLanguage scope names are based on convention, so there's no definitive list. The "Naming Conventions" section at the bottom of this TextMate Manual page is fairly comprehensive though.

You can also check what scopes are highlighted by VSCode's default themes, see for instance dark_plus.json and dark_vs.json (which the former is based on / includes).

Finally, as of VSCode 1.9.0, there is a builtin command to inspect tmLanguage scopes (Developer: Inspect Editor Tokens and Scopes). It will give you a lot of information over how the token at the cursor location is scoped / highlighted:

There is also a Scope Info extension which does a very similar thing, but on hover (which I personally prefer usability-wise). However, it only lists the scope names, not including any of the additional info that VSCode's built-in inspector has.

like image 84
Gama11 Avatar answered Sep 20 '22 04:09

Gama11