diff --git a/vscode/src/tree-sitter/parse-tree-cache.ts b/vscode/src/tree-sitter/parse-tree-cache.ts index 98209893efd9..1bccffcf93e1 100644 --- a/vscode/src/tree-sitter/parse-tree-cache.ts +++ b/vscode/src/tree-sitter/parse-tree-cache.ts @@ -8,6 +8,9 @@ import { type WrappedParser, createParser, getParser } from './parser' const parseTreesPerFile = new LRUCache({ max: 10, + // Important: we need to call `Tree.delete()` to free up memory. Without + // this, we leak memory. See CODY-3616. + disposeAfter: tree => tree.delete(), }) interface ParseTreeCache {