diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-04-02 08:32:14 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-04-02 08:32:14 +0100 |
commit | f0ba01cd43489f0029e90fa7857c88b4e31f9996 (patch) | |
tree | 67cfd74fa8cadca05c5ddfe436aa2640f80fef86 /editors/code/ra_syntax_tree.tmGrammar.json | |
parent | 93f21ac624815dc58ea367eb4127526564206e84 (diff) | |
parent | 62ed01a1078f499c93c70025342dd869bd277d39 (diff) |
Merge #3817
3817: vscode: highlight syntax tree ro editor r=matklad a=Veetaha
Small textmate grammar declaration to make rust-analyzer syntax tree more easily inspectable:
Btw, if we change the file extension of our `ra_syntax/test_data/**` files to `.rast` they should be highlighted in vscode too.
The colors of the tokens are actually going to be color-theme dependent, or you can customize them via:
```jsonc
{
"editor.tokenColorCustomizations": {
"textMateRules": [ { "scope": "name", "settings": { /* */ } } ]
}
}
```
![image](https://user-images.githubusercontent.com/36276403/78204947-99f9d600-74a3-11ea-8315-cb1c87810c7c.png)
Related: #3682
Co-authored-by: veetaha <[email protected]>
Diffstat (limited to 'editors/code/ra_syntax_tree.tmGrammar.json')
-rw-r--r-- | editors/code/ra_syntax_tree.tmGrammar.json | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/editors/code/ra_syntax_tree.tmGrammar.json b/editors/code/ra_syntax_tree.tmGrammar.json new file mode 100644 index 000000000..0d72a3e36 --- /dev/null +++ b/editors/code/ra_syntax_tree.tmGrammar.json | |||
@@ -0,0 +1,31 @@ | |||
1 | { | ||
2 | "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", | ||
3 | |||
4 | "scopeName": "source.ra_syntax_tree", | ||
5 | "patterns": [ | ||
6 | { "include": "#node_type" }, | ||
7 | { "include": "#node_range_index" }, | ||
8 | { "include": "#token_text" } | ||
9 | ], | ||
10 | "repository": { | ||
11 | "node_type": { | ||
12 | "match": "^\\s*([A-Z_]+?)@", | ||
13 | "captures": { | ||
14 | "1": { | ||
15 | "name": "entity.name.class" | ||
16 | } | ||
17 | } | ||
18 | }, | ||
19 | "node_range_index": { | ||
20 | "match": "\\d+", | ||
21 | "name": "constant.numeric" | ||
22 | }, | ||
23 | "token_text": { | ||
24 | "match": "\".+\"", | ||
25 | "name": "string" | ||
26 | } | ||
27 | }, | ||
28 | "fileTypes": [ | ||
29 | "rast" | ||
30 | ] | ||
31 | } | ||