import { workspace, ExtensionContext, } from "vscode"; import { LanguageClient, LanguageClientOptions, ServerOptions, } from "vscode-languageclient/node"; let client: LanguageClient; export function activate(context: ExtensionContext) { const config = workspace.getConfiguration("sx"); const lspPath = config.get("lspPath", "sx"); const serverOptions: ServerOptions = { command: lspPath, args: ["lsp"], }; const clientOptions: LanguageClientOptions = { documentSelector: [{ scheme: "file", language: "sx" }], }; client = new LanguageClient( "sx-lsp", "sx Language Server", serverOptions, clientOptions ); client.start(); } export function deactivate(): Thenable | undefined { if (!client) { return undefined; } return client.stop(); }