I maintain a VS Code–based editor that bundles a fork of julia-vscode. We currently don’t start LanguageServer.jl, partly to avoid SymbolServer.jl’s large serialized symbol cache and a fragile re-indexing path. We’re also evaluating JETLS.jl as a possible long-term replacement, so its indexing and cache behaviour matter to us. A few questions:
-
How does
JETLSprovide completions, hover information, and documentation for packages that are present in the active project but have not yet been loaded/imported by the code being analysed? Does it proactively analyse the project environment/dependencies, or only code that becomes reachable from files being analysed? -
Does
JETLSmaintain any persistent on-disk indexes or metadata of its own (similar in spirit toSymbolServer’s serialized symbol store)? If so, what information is stored there? -
As additional packages are installed over time, should we expect any significant
JETLS-specific cache growth, or primarily the normal growth of~/.Julia/compiledand other Julia-managed caches? -
Is there any rough guidance on expected disk footprint and first-analysis/indexing cost for a large project environment?
The reason I’m asking is that reusing Julia’s existing compilation/precompilation infrastructure, rather than maintaining a second symbol database that needs to be kept in sync, would be a significant advantage for our use case. Thanks!