| /* -------------------------------------------------------------------------------------------- | |
| * Copyright (c) Microsoft Corporation. All rights reserved. | |
| * Licensed under the MIT License. See License.txt in the project root for license information. | |
| * ------------------------------------------------------------------------------------------ */ | |
| import { | |
| createConnection, TextDocuments, ProposedFeatures, TextDocumentSyncKind | |
| } from 'vscode-languageserver/node'; | |
| import { | |
| TextDocument | |
| } from 'vscode-languageserver-textdocument'; | |
| // Creates the LSP connection | |
| const connection = createConnection(ProposedFeatures.all); | |
| // Create a manager for open text documents | |
| const documents = new TextDocuments(TextDocument); | |
| // The workspace folder this server is operating on | |
| let workspaceFolder: string | null; | |
| documents.onDidOpen((event) => { | |
| connection.console.log(`[Server(${process.pid}) ${workspaceFolder}] Document opened: ${event.document.uri}`); | |
| }); | |
| documents.listen(connection); | |
| connection.onInitialize((params) => { | |
| workspaceFolder = params.rootUri; | |
| connection.console.log(`[Server(${process.pid}) ${workspaceFolder}] Started and initialize received`); | |
| return { | |
| capabilities: { | |
| textDocumentSync: { | |
| openClose: true, | |
| change: TextDocumentSyncKind.None | |
| } | |
| } | |
| }; | |
| }); | |
| connection.listen(); |