mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-08-23 11:54:25 +00:00
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": { /* */ } } ] } } ```  Related: #3682 Co-authored-by: veetaha <veetaha2@gmail.com>
This commit is contained in:
commit
f0ba01cd43
3 changed files with 50 additions and 1 deletions
|
@ -15,6 +15,9 @@ export function syntaxTree(ctx: Ctx): Cmd {
|
|||
void new AstInspector(ctx);
|
||||
|
||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider(AST_FILE_SCHEME, tdcp));
|
||||
ctx.pushCleanup(vscode.languages.setLanguageConfiguration("ra_syntax_tree", {
|
||||
brackets: [["[", ")"]],
|
||||
}));
|
||||
|
||||
return async () => {
|
||||
const editor = vscode.window.activeTextEditor;
|
||||
|
@ -36,7 +39,7 @@ export function syntaxTree(ctx: Ctx): Cmd {
|
|||
}
|
||||
|
||||
class TextDocumentContentProvider implements vscode.TextDocumentContentProvider {
|
||||
readonly uri = vscode.Uri.parse('rust-analyzer://syntaxtree');
|
||||
readonly uri = vscode.Uri.parse('rust-analyzer://syntaxtree/tree.rast');
|
||||
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue