What about doing something just-in-time? I'm just speculating, but what if cline leverages the LSP (for instance, rust-analyzer) to track the function chain and build a tree-like context of the codebase—not the entire codebase, but just specific blobs of code?
Would that work?
LSP generally uses an AST representation of the code under the hood. And an AST representation is generally larger - often much larger - than the original code. So I'm not sure what the benefits of this would be compared to just loading the actual code into the context.