How does JETLS.jl cache/index external package symbols and docs?

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:

  1. How does JETLS provide 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?

  2. Does JETLS maintain any persistent on-disk indexes or metadata of its own (similar in spirit to SymbolServer’s serialized symbol store)? If so, what information is stored there?

  3. As additional packages are installed over time, should we expect any significant JETLS-specific cache growth, or primarily the normal growth of ~/.Julia/compiled and other Julia-managed caches?

  4. 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!