aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/client.ts
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-04-02 11:47:58 +0100
committerAleksey Kladov <[email protected]>2020-04-02 11:47:58 +0100
commit48c58309cca718701e902b05221a8e8ec81310db (patch)
tree9f85d9bfb277ca780c2069757a6c11ab6de2229f /editors/code/src/client.ts
parente4cf40a152120c6c3cba1822e56026ae04be63f0 (diff)
Lean onto default implementation of configs
Diffstat (limited to 'editors/code/src/client.ts')
-rw-r--r--editors/code/src/client.ts26
1 files changed, 1 insertions, 25 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index 8ddc1cdca..3b1d00bca 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -5,30 +5,6 @@ import { Config } from './config';
5import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed'; 5import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed';
6import { SemanticTokensFeature, DocumentSemanticsTokensSignature } from 'vscode-languageclient/lib/semanticTokens.proposed'; 6import { SemanticTokensFeature, DocumentSemanticsTokensSignature } from 'vscode-languageclient/lib/semanticTokens.proposed';
7 7
8export function configToServerOptions(config: Config) {
9 return {
10 lruCapacity: config.lruCapacity,
11
12 inlayHintsType: config.inlayHints.typeHints,
13 inlayHintsParameter: config.inlayHints.parameterHints,
14 inlayHintsChaining: config.inlayHints.chainingHints,
15 inlayHintsMaxLength: config.inlayHints.maxLength,
16
17 cargoWatchEnable: config.cargoWatchOptions.enable,
18 cargoWatchArgs: config.cargoWatchOptions.arguments,
19 cargoWatchCommand: config.cargoWatchOptions.command,
20 cargoWatchAllTargets: config.cargoWatchOptions.allTargets,
21
22 excludeGlobs: config.excludeGlobs,
23 useClientWatching: config.useClientWatching,
24 featureFlags: config.featureFlags,
25 withSysroot: config.withSysroot,
26 cargoFeatures: config.cargoFeatures,
27 rustfmtArgs: config.rustfmtArgs,
28 vscodeLldb: vscode.extensions.getExtension("vadimcn.vscode-lldb") != null,
29 };
30}
31
32export async function createClient(config: Config, serverPath: string, cwd: string): Promise<lc.LanguageClient> { 8export async function createClient(config: Config, serverPath: string, cwd: string): Promise<lc.LanguageClient> {
33 // '.' Is the fallback if no folder is open 9 // '.' Is the fallback if no folder is open
34 // TODO?: Workspace folders support Uri's (eg: file://test.txt). 10 // TODO?: Workspace folders support Uri's (eg: file://test.txt).
@@ -48,7 +24,7 @@ export async function createClient(config: Config, serverPath: string, cwd: stri
48 24
49 const clientOptions: lc.LanguageClientOptions = { 25 const clientOptions: lc.LanguageClientOptions = {
50 documentSelector: [{ scheme: 'file', language: 'rust' }], 26 documentSelector: [{ scheme: 'file', language: 'rust' }],
51 initializationOptions: configToServerOptions(config), 27 initializationOptions: vscode.workspace.getConfiguration("rust-analyzer"),
52 traceOutputChannel, 28 traceOutputChannel,
53 middleware: { 29 middleware: {
54 // Workaround for https://github.com/microsoft/vscode-languageserver-node/issues/576 30 // Workaround for https://github.com/microsoft/vscode-languageserver-node/issues/576