Skip to content

Commit a75fdf2

Browse files
Refactor for Server Initialization Options (#1916)
* refactor: remove languageFeatures, documentFeatures from ServerInitializationOptions * feat: re-add ignoreTriggerCharacters * refactor: simplify client code * refactor: config ts paths as single option * chore: fix `*.trace.server` properties * refactor: ServerInitializationOptions -> InitializationOptions * refactor: enum values
1 parent c5aff0d commit a75fdf2

28 files changed

+447
-687
lines changed

examples/svelte/package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
"engines": {
1515
"vscode": "^1.67.0"
1616
},
17-
"keywords": [
18-
"svelte"
19-
],
2017
"activationEvents": [
2118
"onLanguage:svelte"
2219
],

examples/svelte/src/client.ts

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ServerInitializationOptions } from '@volar/language-server';
1+
import { InitializationOptions } from '@volar/language-server';
22
import * as path from 'path';
33
import * as vscode from 'vscode';
44
import * as lsp from 'vscode-languageclient/node';
@@ -8,37 +8,9 @@ let client: lsp.BaseLanguageClient;
88
export async function activate(context: vscode.ExtensionContext) {
99

1010
const documentSelector: lsp.DocumentSelector = [{ language: 'svelte' }];
11-
const initializationOptions: ServerInitializationOptions = {
11+
const initializationOptions: InitializationOptions = {
1212
typescript: {
13-
serverPath: path.join(vscode.env.appRoot, 'extensions', 'node_modules', 'typescript', 'lib', 'typescript.js'),
14-
},
15-
languageFeatures: {
16-
references: true,
17-
implementation: true,
18-
definition: true,
19-
typeDefinition: true,
20-
callHierarchy: true,
21-
hover: true,
22-
rename: true,
23-
renameFileRefactoring: true,
24-
signatureHelp: true,
25-
codeAction: true,
26-
workspaceSymbol: true,
27-
completion: true,
28-
documentHighlight: true,
29-
documentLink: true,
30-
codeLens: true,
31-
semanticTokens: true,
32-
inlayHints: true,
33-
diagnostics: true,
34-
},
35-
documentFeatures: {
36-
selectionRange: true,
37-
foldingRange: true,
38-
linkedEditingRange: true,
39-
documentSymbol: true,
40-
documentColor: true,
41-
documentFormatting: true,
13+
tsdk: path.join(vscode.env.appRoot, 'extensions', 'node_modules', 'typescript', 'lib'),
4214
},
4315
};
4416
const serverModule = vscode.Uri.joinPath(context.extensionUri, 'out', 'server');

extensions/vscode-vue-language-features/package.json

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,6 @@
1818
"engines": {
1919
"vscode": "^1.67.0"
2020
},
21-
"keywords": [
22-
"volar",
23-
"vue",
24-
"vue3",
25-
"ts",
26-
"typescript",
27-
"pug"
28-
],
2921
"activationEvents": [
3022
"onLanguage:vue",
3123
"onLanguage:markdown",
@@ -269,7 +261,7 @@
269261
"type": "object",
270262
"title": "Volar",
271263
"properties": {
272-
"volar-language-features.trace.server": {
264+
"vue-semantic-server-1.trace.server": {
273265
"scope": "window",
274266
"type": "string",
275267
"enum": [
@@ -280,7 +272,7 @@
280272
"default": "off",
281273
"description": "Traces the communication between VS Code and the language server."
282274
},
283-
"volar-language-features-2.trace.server": {
275+
"vue-semantic-server-2.trace.server": {
284276
"scope": "window",
285277
"type": "string",
286278
"enum": [
@@ -291,7 +283,7 @@
291283
"default": "off",
292284
"description": "Traces the communication between VS Code and the language server."
293285
},
294-
"volar-document-features.trace.server": {
286+
"vue-syntactic-server.trace.server": {
295287
"scope": "window",
296288
"type": "string",
297289
"enum": [

extensions/vscode-vue-language-features/src/browserClientMain.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,15 @@ export function activate(context: vscode.ExtensionContext) {
99
name,
1010
documentSelector,
1111
initOptions,
12+
fillInitializeParams,
1213
) => {
1314

15+
class _LanguageClient extends lsp.LanguageClient {
16+
fillInitializeParams(params: lsp.InitializeParams) {
17+
fillInitializeParams(params);
18+
}
19+
}
20+
1421
const serverMain = vscode.Uri.joinPath(context.extensionUri, 'dist/browser/server.js');
1522
const worker = new Worker(serverMain.toString());
1623
const clientOptions: lsp.LanguageClientOptions = {
@@ -22,7 +29,7 @@ export function activate(context: vscode.ExtensionContext) {
2229
},
2330
middleware,
2431
};
25-
const client = new lsp.LanguageClient(
32+
const client = new _LanguageClient(
2633
id,
2734
name,
2835
clientOptions,

0 commit comments

Comments
 (0)