src/goLanguageServer.ts: fix broken event forwarding in middleware
Middleware must forward the intercepted event to the next handler.
Also, fixes the type error occurring when intercepting the codelens
response - it can be undefined or null.
Change-Id: I59aca7b63503cdb23da11670cfd5fa33ec06014c
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/245540
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/src/goLanguageServer.ts b/src/goLanguageServer.ts
index ff63aab..b1d783e 100644
--- a/src/goLanguageServer.ts
+++ b/src/goLanguageServer.ts
@@ -260,6 +260,9 @@
middleware: {
provideCodeLenses: async (doc, token, next): Promise<vscode.CodeLens[]> => {
const codeLens = await next(doc, token);
+ if (!codeLens || codeLens.length === 0) {
+ return codeLens;
+ }
return codeLens.map((lens: vscode.CodeLens) => {
switch (lens.command.title) {
case 'run test': {
@@ -365,17 +368,21 @@
},
// Keep track of the last file change in order to not prompt
// user if they are actively working.
- didOpen: () => {
+ didOpen: (e, next) => {
lastUserAction = new Date();
+ next(e);
},
- didChange: () => {
+ didChange: (e, next) => {
lastUserAction = new Date();
+ next(e);
},
- didClose: () => {
+ didClose: (e, next) => {
lastUserAction = new Date();
+ next(e);
},
- didSave: () => {
+ didSave: (e, next) => {
lastUserAction = new Date();
+ next(e);
},
}
}