Update language server client and configs

This commit is contained in:
Sofia 2025-08-02 19:19:29 +03:00
parent 8a71ce3629
commit 16082752e2
3 changed files with 23 additions and 20 deletions

1
reid-lsp/.gitignore vendored
View File

@ -4,3 +4,4 @@ dist
package-lock.json
pnpm-lock.yaml
tsconfig.tsbuildinfo
*.vsix

View File

@ -18,12 +18,20 @@ import {
let client: LanguageClient;
export function activate(context: ExtensionContext) {
const traceOutputChannel = window.createOutputChannel("Reid Language Server trace");
const command = process.env.SERVER_PATH || "reid-language-server";
const configuration = workspace.getConfiguration('reid-language-server');
let server_path: string = process.env.SERVER_PATH ?? configuration.get("language-server-path") ?? 'reid-language-server';
const regex = /\$(\w+)/;
while (regex.test(server_path)) {
let envVar = regex.exec(server_path)?.[1];
const envVal = envVar ? process.env[envVar] : undefined;
if (envVar === undefined || envVal === undefined) {
console.error(`No such environment variables as ${envVar}`);
}
server_path = server_path.replaceAll(`$${envVar}`, envVal ?? '');
}
const run: Executable = {
command,
command: server_path,
options: {
env: {
...process.env,
@ -49,11 +57,15 @@ export function activate(context: ExtensionContext) {
// Create the language client and start the client.
client = new LanguageClient(
'reid-lsp',
'reid-language-server',
'Reid Language Server',
serverOptions,
clientOptions
);
client.info(JSON.stringify(server_path));
client.info(`Loaded Reid Language Server from ${server_path}`);
workspace.onDidOpenTextDocument((e) => {
});

View File

@ -1,5 +1,5 @@
{
"name": "reid-lsp",
"name": "reid-language-server",
"displayName": "Reid Language Server",
"description": "Language Server Extension for Reid",
"version": "0.1.0",
@ -32,21 +32,11 @@
"type": "object",
"title": "reid-language-server",
"properties": {
"nrs-language-server.trace.server": {
"reid-language-server.language-server-path": {
"type": "string",
"scope": "window",
"enum": [
"off",
"messages",
"verbose"
],
"enumDescriptions": [
"No traces",
"Error only",
"Full log"
],
"default": "off",
"description": "Traces the communication between VS Code and the language server."
"default": "$HOME/.cargo/bin/reid-lsp",
"description": "Path to the Reid Language Server executable"
}
}
},