Clear cache and re-validate documents on cacheClear command (#71)

This commit is contained in:
Laura Yu
2023-01-09 17:11:10 -08:00
committed by GitHub
parent b02eaa37b2
commit c5043f34de
3 changed files with 16 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
export enum Commands {
ClearCache = "cacheClear"
}
+9
View File
@@ -6,6 +6,7 @@ import {
Connection,
DocumentLink,
DocumentLinkParams,
ExecuteCommandParams,
Hover,
HoverParams,
InitializeParams,
@@ -21,6 +22,7 @@ import {onCompletion} from "./on-completion";
import {TTLCache} from "./utils/cache";
import {valueProviders} from "./value-providers";
import {getActionInputs} from "./value-providers/action-inputs";
import {Commands} from "./commands";
export function initConnection(connection: Connection) {
const documents: TextDocuments<TextDocument> = new TextDocuments(TextDocument);
@@ -121,6 +123,13 @@ export function initConnection(connection: Connection) {
return hover(documents.get(textDocument.uri)!, position);
});
connection.onRequest("workspace/executeCommand", (params: ExecuteCommandParams) => {
if (params.command === Commands.ClearCache) {
cache.clear();
documents.all().forEach(validateTextDocument);
}
});
connection.onDocumentLinks(async ({textDocument}: DocumentLinkParams): Promise<DocumentLink[] | null> => {
return documentLinks(documents.get(textDocument.uri)!);
});
@@ -36,4 +36,8 @@ export class TTLCache {
throw e;
}
}
clear(): void {
this.cache.clear();
}
}