diff options
author | kjeremy <[email protected]> | 2020-02-14 16:48:27 +0000 |
---|---|---|
committer | kjeremy <[email protected]> | 2020-02-14 16:48:27 +0000 |
commit | 7a832cdf6b9efef2e6c45f56a4385adddd493ea6 (patch) | |
tree | 5724e94f0272b83ebf8d4a042c03d0a5f2b58627 /editors/code | |
parent | d46b555e31d04feeb6310c52248bba7ff267c453 (diff) |
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')
-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 2e3d4aba2..d2759969b 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts | |||
@@ -3,6 +3,7 @@ import * as lc from 'vscode-languageclient'; | |||
3 | import { window, workspace } from 'vscode'; | 3 | import { window, workspace } from 'vscode'; |
4 | import { Config } from './config'; | 4 | import { Config } from './config'; |
5 | import { ensureLanguageServerBinary } from './installation/language_server'; | 5 | import { ensureLanguageServerBinary } from './installation/language_server'; |
6 | import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed'; | ||
6 | 7 | ||
7 | export async function createClient(config: Config): Promise<null | lc.LanguageClient> { | 8 | export async function createClient(config: Config): Promise<null | lc.LanguageClient> { |
8 | // '.' Is the fallback if no folder is open | 9 | // '.' Is the fallback if no folder is open |
@@ -78,6 +79,10 @@ export async function createClient(config: Config): Promise<null | lc.LanguageCl | |||
78 | } | 79 | } |
79 | }, | 80 | }, |
80 | }; | 81 | }; |
81 | res.registerProposedFeatures(); | 82 | |
83 | // To turn on all proposed features use: res.registerProposedFeatures(); | ||
84 | // Here we want to just enable CallHierarchyFeature since it is available on stable. | ||
85 | // Note that while the CallHierarchyFeature is stable the LSP protocol is not. | ||
86 | res.registerFeature(new CallHierarchyFeature(res)); | ||
82 | return res; | 87 | return res; |
83 | } | 88 | } |