non-Jedi / eglot-jl

Wrapper for using Julia LanguageServer.jl with emacs eglot
Creative Commons Zero v1.0 Universal
61 stars 11 forks source link

Symbol server never responds? #14

Closed NightMachinery closed 4 years ago

NightMachinery commented 4 years ago

It gets stuck for me on

julia --startup-file=no  --project=/Users/evar/.emacs.d.doom/.local/straight/build/eglot-jl/ /Users/evar/.emacs.d.doom/.local/straight/build/eglot-jl/eglot-jl.jl
┌ Info: Running language server
│   env = "/Users/evar/.emacs.d.doom/.local/straight/build/eglot-jl/Project.toml"
│   src_path = "/Users/evar/Base/_Code/uni/stochastic"
│   project_path = "/Users/evar/.julia/environments/v1.4"
└   depot_path = ""

I have tried without --startup-file=no, too, same result. It's been for more than an hour.

non-Jedi commented 4 years ago

Could you post what you see in M-x eglot-events-buffer when running eglot on the intended file (with eglot-connect-timeout set to 300 or so)? It may be that the logging from the SymbolServer doesn't work quite how I expect. How many packages do you have installed in your v1.4 environment?

NightMachinery commented 4 years ago

@non-Jedi I don't think that's the case, as I saw the timeout message in emacs, too (I had set the timeout to 600 seconds.) But here it is: https://gist.github.com/non-Jedi/56d3949224a7e1100a56dfdd4836570c

non-Jedi commented 4 years ago

That event log shows that the language server is working as expected albeit possibly without having the symbols ready for packages installed in the v1.4 environment. How many packages do you have installed in your default v1.4 environment? And is there eglot functionality that isn't working that you expect to work?

My best guess is that the symbol server is still indexing packages which can literally take hours; you can watch this process by looking at /Users/evar/.julia/packages/SymbolServer/vTGsB/store which the symbol server should slowly populate with files with the .jstore extension.

ffevotte commented 4 years ago

If julia-vscode/LanguageServer.jl#707 gets merged, then we could have a sense of the package indexing progress by looking at eglot's event buffer.

non-Jedi commented 4 years ago

Hi @NightMachinary, feel free to reopen if eglot isn't providing some functionality that you expect, but right now this just looks like the symbol server taking a long time to finish caching. If you're still having issues, the questions I asked above are a good place to start investigating.

NightMachinery commented 4 years ago

I'm happy to say that things are working just fine for me now.