in src/extension.ts [127:155]
function setupLanguageClient(ctx: vscode.ExtensionContext): LanguageClient {
const executable: Executable = {
command: ctx.asAbsolutePath("./bin/azurerm-lsp"),
args: ["serve"],
};
const serverOptions: ServerOptions = {
run: executable,
debug: executable,
};
const clientOptions: LanguageClientOptions = {
documentSelector: [{scheme: "file", language: "terraform"}],
outputChannel: vscode.window.createOutputChannel("AzureRM LSP"),
};
const client = new LanguageClient("azurerm", serverOptions, clientOptions);
client.start().catch((err) => {
vscode.window.showErrorMessage(`Failed to start AzureRM LSP client: ${err.message}`);
console.error("Failed to start AzureRM LSP client:", err);
});
client.onDidChangeState((event) => {
console.log(`Client: ${event.newState}`);
});
return client;
}