Skip to content

Commit c831d81

Browse files
committed
Add log output
1 parent 1ce676d commit c831d81

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/extension.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ import { connect } from "node:net";
55
const outputChannel: OutputChannel = window.createOutputChannel("Unison");
66
const clients: Map<string, LanguageClient> = new Map();
77

8+
function log(msg: string) {
9+
outputChannel.appendLine(msg)
10+
}
11+
812
exports.activate = function () {
913
workspace.workspaceFolders?.forEach((folder) => addWorkspaceFolder(folder));
1014
workspace.onDidChangeWorkspaceFolders(({ added, removed }) => {
@@ -27,15 +31,16 @@ async function addWorkspaceFolder(workspaceFolder: WorkspaceFolder) {
2731
documentSelector: [{ language: "unison" }],
2832
});
2933

34+
log(`Activating unison language server at ${folderPath}`)
3035
clients.set(folderPath, client);
31-
3236
await client.start();
3337
}
3438

3539
async function removeWorkspaceFolder(workspaceFolder: WorkspaceFolder) {
3640
let folderPath = workspaceFolder.uri.fsPath;
3741
let client = clients.get(folderPath);
3842
if (client) {
43+
log(`Deactivating unison language server at ${folderPath}`)
3944
clients.delete(folderPath);
4045
await client.stop();
4146
}
@@ -49,22 +54,26 @@ async function connectToServer() {
4954
let haveShownError = false;
5055
while (true) {
5156
try {
57+
const host = "127.0.0.1";
5258
const port = workspace.getConfiguration("unison").lspPort;
59+
log(`Trying to connect to ucm lsp server at ${host}:${port}`);
5360
let socket = connect({ port, host: "127.0.0.1" });
5461
await new Promise((resolve, reject) =>
5562
socket.once("connect", resolve).once("error", reject)
5663
);
5764
// Show a success message, but only if we were in an error state
65+
const okMsg = `Unison: Connected to Language Server at ${host}:${port}.`;
66+
log(okMsg);
5867
if (haveShownError) {
59-
window.showInformationMessage("Unison: Connected to Language Server.");
68+
window.showInformationMessage(okMsg);
6069
}
6170
return { reader: socket, writer: socket };
6271
} catch (e) {
72+
const errMsg = "Language server failed to connect";
73+
log(`${errMsg}, cause: ${e}`)
6374
if (!haveShownError) {
6475
haveShownError = true;
65-
window.showErrorMessage(
66-
"Unison: Language server failed to connect, is there a UCM running? (version M4a or later)"
67-
);
76+
window.showErrorMessage(`Unison: ${errMsg}, is there a UCM running? (version M4a or later)`);
6877
}
6978
await sleep(2000);
7079
continue;

0 commit comments

Comments
 (0)