Skip to content

Commit f5be5fa

Browse files
committed
Debounce codeLens and inlayHint refresh requests from incremental typechecking
1 parent 815ccff commit f5be5fa

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

server/src/server.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,7 @@ let closedFile = async (fileUri: utils.FileURI) => {
572572
}
573573
};
574574

575+
let refreshTimeout: ReturnType<typeof setTimeout> | null = null;
575576
let updateOpenedFile = (fileUri: utils.FileURI, fileContent: string) => {
576577
getLogger().info(
577578
`Updating opened file ${fileUri}, incremental TC enabled: ${config.extensionConfiguration.incrementalTypechecking?.enable}`,
@@ -581,12 +582,18 @@ let updateOpenedFile = (fileUri: utils.FileURI, fileContent: string) => {
581582
stupidFileContentCache.set(filePath, fileContent);
582583
if (config.extensionConfiguration.incrementalTypechecking?.enable) {
583584
ic.handleUpdateOpenedFile(filePath, fileContent, send, () => {
584-
if (config.extensionConfiguration.codeLens) {
585-
sendCodeLensRefresh();
586-
}
587-
if (config.extensionConfiguration.inlayHints) {
588-
sendInlayHintsRefresh();
585+
if (refreshTimeout != null) {
586+
clearTimeout(refreshTimeout);
589587
}
588+
refreshTimeout = setTimeout(() => {
589+
refreshTimeout = null;
590+
if (config.extensionConfiguration.codeLens) {
591+
sendCodeLensRefresh();
592+
}
593+
if (config.extensionConfiguration.inlayHints) {
594+
sendInlayHintsRefresh();
595+
}
596+
}, 200);
590597
});
591598
}
592599
};

0 commit comments

Comments
 (0)