Add VSCode extension output channel
This commit is contained in:
@@ -4,7 +4,10 @@ import * as vscode from "vscode";
|
||||
import { LanguageClient, LanguageClientOptions, ServerOptions } from "vscode-languageclient/node";
|
||||
|
||||
export async function activate(context: vscode.ExtensionContext) {
|
||||
const server = launchLsp();
|
||||
const output = vscode.window.createOutputChannel("Kerolox");
|
||||
output.appendLine("Kerolox extension activated");
|
||||
|
||||
const server = launchLsp(output);
|
||||
|
||||
const clientOptions: LanguageClientOptions = {
|
||||
documentSelector: [{ scheme: "file", language: "kerolox" }]
|
||||
@@ -15,16 +18,17 @@ export async function activate(context: vscode.ExtensionContext) {
|
||||
|
||||
const dispose = async () => await client.stop();
|
||||
context.subscriptions.push({ dispose });
|
||||
context.subscriptions.push(output);
|
||||
}
|
||||
|
||||
export function launchLsp(): ServerOptions {
|
||||
export function launchLsp(output: vscode.OutputChannel): ServerOptions {
|
||||
return async () => {
|
||||
console.log("creating language server");
|
||||
output.appendLine("Creating language server");
|
||||
const server = new LanguageServer();
|
||||
console.log("language server created");
|
||||
output.appendLine("Language server created");
|
||||
const writer = Writable.fromWeb(server.requests);
|
||||
const reader = Readable.fromWeb(server.responses);
|
||||
console.log("language server bound");
|
||||
output.appendLine("Language server bound");
|
||||
return { server, writer, reader };
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user