aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/extension.ts
diff options
context:
space:
mode:
authorEdwin Cheng <[email protected]>2019-11-19 17:06:10 +0000
committerEdwin Cheng <[email protected]>2019-11-19 17:06:10 +0000
commitd16cc223e100ae9a29384f104a378932088e0c3c (patch)
treefda3e9fc76db85ae902a11a200a762030863a74f /editors/code/src/extension.ts
parent80fe467ce864de077d2f5a4e29e1a4d5fe535dc3 (diff)
Use DocumentProvider instead of Hover
Diffstat (limited to 'editors/code/src/extension.ts')
-rw-r--r--editors/code/src/extension.ts22
1 files changed, 12 insertions, 10 deletions
diff --git a/editors/code/src/extension.ts b/editors/code/src/extension.ts
index 8654b6030..683497dfd 100644
--- a/editors/code/src/extension.ts
+++ b/editors/code/src/extension.ts
@@ -3,7 +3,7 @@ import * as lc from 'vscode-languageclient';
3 3
4import * as commands from './commands'; 4import * as commands from './commands';
5import { CargoWatchProvider } from './commands/cargo_watch'; 5import { CargoWatchProvider } from './commands/cargo_watch';
6import { ExpandMacroHoverProvider } from './commands/expand_macro'; 6import { ExpandMacroContentProvider } from './commands/expand_macro';
7import { HintsUpdater } from './commands/inlay_hints'; 7import { HintsUpdater } from './commands/inlay_hints';
8import { 8import {
9 interactivelyStartCargoWatch, 9 interactivelyStartCargoWatch,
@@ -98,6 +98,7 @@ export function activate(context: vscode.ExtensionContext) {
98 ] 98 ]
99 ]; 99 ];
100 const syntaxTreeContentProvider = new SyntaxTreeContentProvider(); 100 const syntaxTreeContentProvider = new SyntaxTreeContentProvider();
101 const expandMacroContentProvider = new ExpandMacroContentProvider();
101 102
102 // The events below are plain old javascript events, triggered and handled by vscode 103 // The events below are plain old javascript events, triggered and handled by vscode
103 vscode.window.onDidChangeActiveTextEditor( 104 vscode.window.onDidChangeActiveTextEditor(
@@ -110,11 +111,21 @@ export function activate(context: vscode.ExtensionContext) {
110 syntaxTreeContentProvider 111 syntaxTreeContentProvider
111 ) 112 )
112 ); 113 );
114 disposeOnDeactivation(
115 vscode.workspace.registerTextDocumentContentProvider(
116 'rust-analyzer',
117 expandMacroContentProvider
118 )
119 );
113 120
114 registerCommand( 121 registerCommand(
115 'rust-analyzer.syntaxTree', 122 'rust-analyzer.syntaxTree',
116 commands.syntaxTree.createHandle(syntaxTreeContentProvider) 123 commands.syntaxTree.createHandle(syntaxTreeContentProvider)
117 ); 124 );
125 registerCommand(
126 'rust-analyzer.expandMacro',
127 commands.expandMacro.createHandle(expandMacroContentProvider)
128 );
118 129
119 vscode.workspace.onDidChangeTextDocument( 130 vscode.workspace.onDidChangeTextDocument(
120 events.changeTextDocument.createHandler(syntaxTreeContentProvider), 131 events.changeTextDocument.createHandler(syntaxTreeContentProvider),
@@ -122,15 +133,6 @@ export function activate(context: vscode.ExtensionContext) {
122 context.subscriptions 133 context.subscriptions
123 ); 134 );
124 135
125 const expandMacroContentProvider = new ExpandMacroHoverProvider();
126
127 disposeOnDeactivation(
128 vscode.languages.registerHoverProvider(
129 'rust',
130 expandMacroContentProvider
131 )
132 );
133
134 const startServer = () => Server.start(allNotifications); 136 const startServer = () => Server.start(allNotifications);
135 const reloadCommand = () => reloadServer(startServer); 137 const reloadCommand = () => reloadServer(startServer);
136 138