I’m posting this under “Package Management” because I’m hoping that there’s some trick of package dependencies I can use to resolve it. (And my apologies if there is an obvious solution to this – I’m relatively new to Julia)
I use LanguageServer.jl as an LSP for my editor (helix), which generally works great. But LanguageServer.jl currently requires JSON = "0.20, 0.21", which is an extremely outdated version of JSON.jl (last 0.21 release was in April 2023; current version is 1.4.0).
JSON 1.0 made a number of breaking changes, so I understand why LanguageServer hasn’t updated. At the same time, I need features from the more recent JSON versions. The two options I can see are:
- Don’t use an LSP when coding in Julia (not a great option)
- Use a “LSP” project:
- Install LanguageServer in a separate project
- Point my editor to load Julia from that project
- keep the installed packages in the LanguageServer project in sync with my working project/environment manually
- Ignore all of the JSON-related errors the LSP now finds in my code
Obviously, neither of these options is ideal. Is there another way? It would be great if the JSON used by LanguageServer could be restricted to its functions/namespaces while I am able to use the most recent version for my code.
This seems like a general issue, aside from just JSON: LanguageServer essentially sets global limits on any package dependencies it has.
My broad question is this: is there any way to resolve this issue more cleanly than options 1 or 2 above?
In case it’s relevant: I’m using Julia v1.12.4 and LanguageServer v4.5.1
Thanks!