Files
nub-lang/vscode-lsp/src/extension.ts
nub31 bfe8b7b18e ...
2025-10-23 18:32:03 +02:00

44 lines
933 B
TypeScript

import path from 'path';
import vscode from 'vscode';
import { LanguageClient, TransportKind } from 'vscode-languageclient/node';
let client: LanguageClient;
export async function activate(context: vscode.ExtensionContext) {
const serverExecutable = path.join(context.asAbsolutePath('server'), "nublsp");
client = new LanguageClient(
'nub',
'nub lsp client',
{
run: {
command: serverExecutable,
transport: TransportKind.stdio,
},
debug: {
command: serverExecutable,
transport: TransportKind.stdio,
args: ['--debug'],
}
},
{
documentSelector: [
{ scheme: 'file', language: 'nub' },
{ scheme: 'file', pattern: '**/*.nub' }
],
synchronize: {
fileEvents: vscode.workspace.createFileSystemWatcher('**/.clientrc')
}
}
);
client.start();
}
export function deactivate(): Thenable<void> | undefined {
if (!client) {
return undefined;
}
return client.stop();
}