src/util.ts: allow getGoVersion when there is no active text editor
vscode.window.activeTextEditor can be undefined.
Change-Id: Ia332860095f5fb9ec66b0fa56eaa202960b3db64
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/254422
Reviewed-by: Suzy Mueller <suzmue@golang.org>
diff --git a/src/util.ts b/src/util.ts
index b405ada..fa94f7b 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -341,7 +341,7 @@
}
try {
const env = toolExecutionEnvironment();
- const docUri = vscode.window.activeTextEditor.document.uri;
+ const docUri = vscode.window.activeTextEditor?.document.uri;
const cwd = getWorkspaceFolderPath(docUri && docUri.fsPath.endsWith('.go') ? docUri : undefined);
const execFile = util.promisify(cp.execFile);
const { stdout, stderr } = await execFile(goRuntimePath, ['version'], {env, cwd});
@@ -896,7 +896,7 @@
}
}
-export function getWorkspaceFolderPath(fileUri?: vscode.Uri): string {
+export function getWorkspaceFolderPath(fileUri?: vscode.Uri): string|undefined {
if (fileUri) {
const workspace = vscode.workspace.getWorkspaceFolder(fileUri);
if (workspace) {
@@ -909,6 +909,7 @@
if (folders && folders.length) {
return fixDriveCasingInWindows(folders[0].uri.fsPath);
}
+ return undefined;
}
export function makeMemoizedByteOffsetConverter(buffer: Buffer): (byteOffset: number) => number {