aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/commands/syntax_tree.ts
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/commands/syntax_tree.ts')
-rw-r--r--editors/code/src/commands/syntax_tree.ts19
1 files changed, 9 insertions, 10 deletions
diff --git a/editors/code/src/commands/syntax_tree.ts b/editors/code/src/commands/syntax_tree.ts
index e61fb36df..20ff7e5ca 100644
--- a/editors/code/src/commands/syntax_tree.ts
+++ b/editors/code/src/commands/syntax_tree.ts
@@ -7,12 +7,12 @@ import { Ctx, Cmd } from '../ctx';
7// 7//
8// The contents of the file come from the `TextDocumentContentProvider` 8// The contents of the file come from the `TextDocumentContentProvider`
9export function syntaxTree(ctx: Ctx): Cmd { 9export function syntaxTree(ctx: Ctx): Cmd {
10 const stcp = new SyntaxTreeContentProvider(ctx); 10 const tdcp = new TextDocumentContentProvider(ctx);
11 11
12 ctx.pushCleanup( 12 ctx.pushCleanup(
13 vscode.workspace.registerTextDocumentContentProvider( 13 vscode.workspace.registerTextDocumentContentProvider(
14 'rust-analyzer', 14 'rust-analyzer',
15 stcp, 15 tdcp,
16 ), 16 ),
17 ); 17 );
18 18
@@ -20,7 +20,7 @@ export function syntaxTree(ctx: Ctx): Cmd {
20 (event: vscode.TextDocumentChangeEvent) => { 20 (event: vscode.TextDocumentChangeEvent) => {
21 const doc = event.document; 21 const doc = event.document;
22 if (doc.languageId !== 'rust') return; 22 if (doc.languageId !== 'rust') return;
23 afterLs(() => stcp.eventEmitter.fire(stcp.uri)); 23 afterLs(() => tdcp.eventEmitter.fire(tdcp.uri));
24 }, 24 },
25 ctx.subscriptions, 25 ctx.subscriptions,
26 ); 26 );
@@ -28,7 +28,7 @@ export function syntaxTree(ctx: Ctx): Cmd {
28 vscode.window.onDidChangeActiveTextEditor( 28 vscode.window.onDidChangeActiveTextEditor(
29 (editor: vscode.TextEditor | undefined) => { 29 (editor: vscode.TextEditor | undefined) => {
30 if (!editor || editor.document.languageId !== 'rust') return; 30 if (!editor || editor.document.languageId !== 'rust') return;
31 stcp.eventEmitter.fire(stcp.uri); 31 tdcp.eventEmitter.fire(tdcp.uri);
32 }, 32 },
33 ctx.subscriptions, 33 ctx.subscriptions,
34 ); 34 );
@@ -38,12 +38,12 @@ export function syntaxTree(ctx: Ctx): Cmd {
38 const rangeEnabled = !!(editor && !editor.selection.isEmpty); 38 const rangeEnabled = !!(editor && !editor.selection.isEmpty);
39 39
40 const uri = rangeEnabled 40 const uri = rangeEnabled
41 ? vscode.Uri.parse(`${stcp.uri.toString()}?range=true`) 41 ? vscode.Uri.parse(`${tdcp.uri.toString()}?range=true`)
42 : stcp.uri; 42 : tdcp.uri;
43 43
44 const document = await vscode.workspace.openTextDocument(uri); 44 const document = await vscode.workspace.openTextDocument(uri);
45 45
46 stcp.eventEmitter.fire(uri); 46 tdcp.eventEmitter.fire(uri);
47 47
48 return vscode.window.showTextDocument( 48 return vscode.window.showTextDocument(
49 document, 49 document,
@@ -64,12 +64,11 @@ interface SyntaxTreeParams {
64 range?: lc.Range; 64 range?: lc.Range;
65} 65}
66 66
67export class SyntaxTreeContentProvider 67class TextDocumentContentProvider
68 implements vscode.TextDocumentContentProvider { 68 implements vscode.TextDocumentContentProvider {
69 ctx: Ctx; 69 private ctx: Ctx;
70 uri = vscode.Uri.parse('rust-analyzer://syntaxtree'); 70 uri = vscode.Uri.parse('rust-analyzer://syntaxtree');
71 eventEmitter = new vscode.EventEmitter<vscode.Uri>(); 71 eventEmitter = new vscode.EventEmitter<vscode.Uri>();
72 syntaxTree: string = 'Not available';
73 72
74 constructor(ctx: Ctx) { 73 constructor(ctx: Ctx) {
75 this.ctx = ctx; 74 this.ctx = ctx;