Provide access to rope as well as Jedi
See original GitHub issueWe’re currently developing an LSP extension for Spyder https://github.com/spyder-ide/spyder/pull/4751 and we’re using your server to test all the LSP features, and eventually we’ll be using it by default.
At the moment we haven’t got much trouble migrating our own implemented functionalities, however we have noticed that some textDocument/completion
requests take too long to be replied by the server, especially if they are related to modules such as numpy. On such cases we’ve experienced about 3-5 delay seconds.
Right now on Spyder we’ve been using both Jedi and Rope to handle our autocompletion calls, as Rope is faster than Jedi in resolving autocompletions for large/compiled modules, we achieve autocompletion in less than a second, which is one of the features most beloved by the Spyder user community.
We would like to contribute to improve the autocompletion performance of the server, we propose to use both Jedi and Rope to handle LSP completion requests, the idea is to define a race condition between both packages, by returning the results of the package that completes the autocompletion task first.
We would like to hear your opinion on this solution and discuss other alternatives, as Spyder LSP migration is imminent.
Issue Analytics
- State:
- Created 6 years ago
- Comments:5 (5 by maintainers)
There are already plans to add Rooe support so if you could spare some time to do this then that would be great!
I’ll push the branch I started for rope when I’m back at my computer. I struggled to figure out the best way to invalidate the rope caches but it sounds like you might have experience there.
I’ve pushed ngates/rope, there’s less on it than i thought so not sure how helpful it will be! https://github.com/palantir/python-language-server/compare/develop...ngates/rope
Going to rename this ticket and close out #113