diff --git a/lsp-multi-server-sample/client/src/extension.ts b/lsp-multi-server-sample/client/src/extension.ts index fe85b813..a42731b3 100644 --- a/lsp-multi-server-sample/client/src/extension.ts +++ b/lsp-multi-server-sample/client/src/extension.ts @@ -13,7 +13,7 @@ let clients: Map = new Map(); function getOuterMostWorkspaceFolder(folder: WorkspaceFolder): WorkspaceFolder { let result = folder; let candidate: WorkspaceFolder; - while((candidate = Workspace.getWorkspaceFolder(folder.uri)) !== void 0) { + while((candidate = Workspace.getWorkspaceFolder(folder.uri)) !== folder) { result = candidate; } return result; @@ -51,7 +51,7 @@ export function activate(context: ExtensionContext) { return; } let folder = Workspace.getWorkspaceFolder(uri); - // Files outside a folder can't be handled. This might depend on the language + // Files outside a folder can't be handled. This might depend on the language. // Single file languages like JSON might handle files outside the workspace folders. if (!folder) { return; diff --git a/lsp-multi-server-sample/server/src/server.ts b/lsp-multi-server-sample/server/src/server.ts index b2f55d60..2c3f8797 100644 --- a/lsp-multi-server-sample/server/src/server.ts +++ b/lsp-multi-server-sample/server/src/server.ts @@ -7,18 +7,23 @@ import { createConnection, TextDocuments, ProposedFeatures, TextDocumentSyncKind } from 'vscode-languageserver'; +// Creates the LSP connection let connection = createConnection(ProposedFeatures.all); +// Create a manager for open text documents + let documents = new TextDocuments(); -let rootUri: string; + +// The workspace folder this server is operating on +let workspaceFolder: string; documents.onDidOpen((event) => { - connection.console.log(`[Server ${rootUri}] Document opened: ${event.document.uri}`); + connection.console.log(`[Server ${workspaceFolder}] Document opened: ${event.document.uri}`); }) documents.listen(connection); connection.onInitialize((params) => { - rootUri = params.rootUri; - connection.console.log(`Server started for folder: ${rootUri}`); + workspaceFolder = params.rootUri; + connection.console.log(`Server started for folder: ${workspaceFolder}`); return { capabilities: { textDocumentSync: {