Update language server client and configs
This commit is contained in:
		
							parent
							
								
									8a71ce3629
								
							
						
					
					
						commit
						16082752e2
					
				
							
								
								
									
										3
									
								
								reid-lsp/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								reid-lsp/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -3,4 +3,5 @@ node_modules | ||||
| dist | ||||
| package-lock.json | ||||
| pnpm-lock.yaml | ||||
| tsconfig.tsbuildinfo | ||||
| tsconfig.tsbuildinfo | ||||
| *.vsix | ||||
| @ -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) => { | ||||
| 	}); | ||||
|  | ||||
| @ -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" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user