import * as vscode from 'vscode';
import { Ctx, Cmd } from '../ctx';
-// Shows status of rust-analyzer (for debugging)
+// Shows status of rust-analyzer (for debugging)
export function analyzerStatus(ctx: Ctx): Cmd {
let poller: NodeJS.Timer | null = null;
const tdcp = new TextDocumentContentProvider(ctx);
//
// The contents of the file come from the `TextDocumentContentProvider`
export function syntaxTree(ctx: Ctx): Cmd {
- const stcp = new SyntaxTreeContentProvider(ctx);
+ const tdcp = new TextDocumentContentProvider(ctx);
ctx.pushCleanup(
vscode.workspace.registerTextDocumentContentProvider(
'rust-analyzer',
- stcp,
+ tdcp,
),
);
(event: vscode.TextDocumentChangeEvent) => {
const doc = event.document;
if (doc.languageId !== 'rust') return;
- afterLs(() => stcp.eventEmitter.fire(stcp.uri));
+ afterLs(() => tdcp.eventEmitter.fire(tdcp.uri));
},
ctx.subscriptions,
);
vscode.window.onDidChangeActiveTextEditor(
(editor: vscode.TextEditor | undefined) => {
if (!editor || editor.document.languageId !== 'rust') return;
- stcp.eventEmitter.fire(stcp.uri);
+ tdcp.eventEmitter.fire(tdcp.uri);
},
ctx.subscriptions,
);
const rangeEnabled = !!(editor && !editor.selection.isEmpty);
const uri = rangeEnabled
- ? vscode.Uri.parse(`${stcp.uri.toString()}?range=true`)
- : stcp.uri;
+ ? vscode.Uri.parse(`${tdcp.uri.toString()}?range=true`)
+ : tdcp.uri;
const document = await vscode.workspace.openTextDocument(uri);
- stcp.eventEmitter.fire(uri);
+ tdcp.eventEmitter.fire(uri);
return vscode.window.showTextDocument(
document,
range?: lc.Range;
}
-export class SyntaxTreeContentProvider
+class TextDocumentContentProvider
implements vscode.TextDocumentContentProvider {
ctx: Ctx;
uri = vscode.Uri.parse('rust-analyzer://syntaxtree');
range = editor.selection.isEmpty
? undefined
: this.ctx.client.code2ProtocolConverter.asRange(
- editor.selection,
- );
+ editor.selection,
+ );
}
const request: SyntaxTreeParams = {