-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor LSPConnection, ConnectionManager #165
Refactor LSPConnection, ConnectionManager #165
Conversation
Probably need to put this down for a bit.
|
Ugh. It looks like binder installs r-studio from apt/random shell scripts now: no idea what that's going to do to the r language server install we have. |
Hooray CI and binder both working the first time :P |
Still haven't merged in docs branch, but am otherwise starting to feel like this is done... |
Noticed some more stuff in looking into #190, doing some more work here... |
Similar to https://github.com/krassowski/jupyterlab-lsp/pull/165#issuecomment-581177638, i've also moved the |
Of note to the above: it's possible for a file editor to also have a kernel attached to it and provide completion (and even execution). Not going to handle on this PR, but probably also needs some love. |
Ah: that change won't work, because the |
b606649
to
3d45458
Compare
Well, the docker test is just being a jerk on osx, but I really can't think of anything else I want to do on this, having done the docs piece directly over on #177. I feel like we should probably merge this and move forward. |
Will do some local testing and merge today! |
🛸
…On Sun, Feb 9, 2020, 01:54 Michał Krassowski ***@***.***> wrote:
Will do some local testing and merge today!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<https://github.com/krassowski/jupyterlab-lsp/pull/165?email_source=notifications&email_token=AAALCRE42G5GG6NLDFFHRXDRB6SDXA5CNFSM4KI2VBHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELGEE7I#issuecomment-583811709>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAALCRAMA3OQEJZ6PHVBFCLRB6SDXANCNFSM4KI2VBHA>
.
|
Thank you! |
References
This has been mentioned a few places (e.g. #76), but doesn't have a concrete issue. Whoops!
Code changes
Changes the design contract to support:
ConnectionManager
per application (instead of one per Notebook/Editor)LSPConnection
per language (instead of one per Editor/Cell(!))highlight.ts
, instead of waiting for theemit
, the results are consumed directly behind a promise (orThenable
, but who's counting)In addition, this lazy-loads the
connection.ts
and all oflsp-ws-connection
when the first language server is requested viaawait import
.User-facing changes
Apart from the initial delay loading the 1.5mb slug of
lsp-ws-connection
, this generally makes things much snappier, as each additional document/cell adds very little overhead.Backwards-incompatible changes
No doubt, a lot of things that were expecting to "just work" will need to be more aware of the
documentUri
... I haven't merged up tomaster
, so perhaps the recent completion fixes will uncover new issues.Chores