Lines Matching refs:vscode

1 import * as vscode from 'vscode';
8 export class AstInspector implements vscode.HoverProvider, vscode.DefinitionProvider, Disposable {
9 private readonly astDecorationType = vscode.window.createTextEditorDecorationType({
10 borderColor: new vscode.ThemeColor('rust_analyzer.syntaxTreeBorder'),
21 const buf: [vscode.Range, vscode.Range][] = []; constant
38 ctx.pushCleanup(vscode.languages.registerHoverProvider({ scheme: 'rust-analyzer' }, this));
39 ctx.pushCleanup(vscode.languages.registerDefinitionProvider({ language: "rust" }, this));
40vscode.workspace.onDidCloseTextDocument(this.onDidCloseTextDocument, this, ctx.subscriptions);
41vscode.workspace.onDidChangeTextDocument(this.onDidChangeTextDocument, this, ctx.subscriptions);
42vscode.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors, this, ctx.subscrip…
50 private onDidChangeTextDocument(event: vscode.TextDocumentChangeEvent) {
56 private onDidCloseTextDocument(doc: vscode.TextDocument) {
62 private onDidChangeVisibleTextEditors(editors: vscode.TextEditor[]) {
70 private findAstTextEditor(): undefined | vscode.TextEditor {
71 … return vscode.window.visibleTextEditors.find(it => it.document.uri.scheme === 'rust-analyzer');
83 …provideDefinition(doc: vscode.TextDocument, pos: vscode.Position): vscode.ProviderResult<vscode.De…
95 astEditor.selection = new vscode.Selection(astFileRange.start, astFileRange.end);
106 …provideHover(doc: vscode.TextDocument, hoverPosition: vscode.Position): vscode.ProviderResult<vsco…
120 return new vscode.Hover(["```rust\n" + rustSourceCode + "\n```"], astFileRange);
123 private findAstNodeRange(astLine: vscode.TextLine): vscode.Range {
127 return new vscode.Range(begin, end);
130 … private parseRustTextRange(doc: vscode.TextDocument, astLine: string): undefined | vscode.Range {
138 return new vscode.Range(begin, end);
143 cache?: { doc: vscode.TextDocument; offset: number; line: number };
145 positionAt(doc: vscode.TextDocument, targetOffset: number): vscode.Position {
146 if (doc.eol === vscode.EndOfLine.LF) {