diff options
| author | kjeremy <kjeremy@gmail.com> | 2020-02-14 11:48:27 -0500 |
|---|---|---|
| committer | kjeremy <kjeremy@gmail.com> | 2020-02-14 11:48:27 -0500 |
| commit | 7a832cdf6b9efef2e6c45f56a4385adddd493ea6 (patch) | |
| tree | 5724e94f0272b83ebf8d4a042c03d0a5f2b58627 /editors/code/src/client.ts | |
| parent | d46b555e31d04feeb6310c52248bba7ff267c453 (diff) | |
| download | rust-7a832cdf6b9efef2e6c45f56a4385adddd493ea6.tar.gz rust-7a832cdf6b9efef2e6c45f56a4385adddd493ea6.zip | |
Do not register all proposed features
Instead only opt-in to CallHierarchy since it has a vscode API but LSP support is still proposed. Discovered while working on SemanticTokens which does not have a vscode API and is still in the proposed state. Somehow enabling it would crash the language server. See https://github.com/microsoft/vscode-languageserver-node/issues/572
Diffstat (limited to 'editors/code/src/client.ts')
| -rw-r--r-- | editors/code/src/client.ts | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts index 2e3d4aba2d8..d2759969be0 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts @@ -3,6 +3,7 @@ import * as lc from 'vscode-languageclient'; import { window, workspace } from 'vscode'; import { Config } from './config'; import { ensureLanguageServerBinary } from './installation/language_server'; +import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed'; export async function createClient(config: Config): Promise<null | lc.LanguageClient> { // '.' Is the fallback if no folder is open @@ -78,6 +79,10 @@ export async function createClient(config: Config): Promise<null | lc.LanguageCl } }, }; - res.registerProposedFeatures(); + + // To turn on all proposed features use: res.registerProposedFeatures(); + // Here we want to just enable CallHierarchyFeature since it is available on stable. + // Note that while the CallHierarchyFeature is stable the LSP protocol is not. + res.registerFeature(new CallHierarchyFeature(res)); return res; } |
