castwide / vscode-solargraph

A Visual Studio Code extension for Solargraph.
Other
425 stars 23 forks source link

Show Progress Indicator while server is loading #97

Closed electr0sheep closed 5 years ago

electr0sheep commented 5 years ago

The language server takes quite a while to load for me (I'm working in quite a big rails project). It would be nice if the server could be started more quickly, however, if we could at least get a progress indicator, I'd know that something was happening.

(On a completely unrelated note, solargraph is phenomenal, thanks a lot for the work you've put into it.)

castwide commented 5 years ago

Thanks!

I've looked into implementing progress indicators for long-running processes. Unfortunately, there's not much support for it in VS Code, and none at all in the language server protocol. I haven't found a way to implement them from scratch that isn't flaky. For now the best I could do is the two messages that appear in the status bar at the bottom left: Starting the Solargraph language server... and Solargraph is ready.

The good news is that progress indicators are still a possibility for the future. There's been lots of discussion about adding them to the specification, starting here: https://github.com/Microsoft/language-server-protocol/issues/70

Improving load times are an ongoing concern. Gem v0.31.0 already made initialization a little faster, as discussed in #95. Further improvements are still on the roadmap.

castwide commented 5 years ago

Extension 0.19.3 includes the spinner from #98. A progress tracker that reports percent complete is still a possibility for a future version.