jupyterlab-lsp
jupyterlab-lsp copied to clipboard
Selectively enable/disable LSP features
Extracting discussion from #55, quote by @bollwyvl :
Not in this pr, but: I'd also like to see a toolbar item that let you enable/disable different language server ui features for the current file. It could be right aligned, but left of the kernel name/status icon, and also have an indicator of whether there is pending stuff... This would be particularly useful in the typescript case which takes upwards of a minute to fully resolve all the references in, say, index.ts.
I think that a statusbar would be a good place for it (so that we have it for both files and notebooks).
Sketch:
{
"disableForKernels": {
"title": "Disable for specific kernels",
"type": "array",
"items": {
"type": "string"
},
"default": []
}
}
Very good point (though I usually turn it off)... I thought the editor also exposed a toolbar entry point like the notebook, but I could be imagining things...
It's too bad there's no way to know if the language server is still "busy"... Responses just seem to come back whenever. Sure would make testing easier!
On Tue, Oct 15, 2019, 15:28 M. Krassowski [email protected] wrote:
Extracting discussion from #55 https://github.com/krassowski/jupyterlab-lsp/pull/55, quote by @bollwyvl https://github.com/bollwyvl :
Not in this pr, but: I'd also like to see a toolbar item that let you enable/disable different language server ui features for the current file. It could be right aligned, but left of the kernel name/status icon, and also have an indicator of whether there is pending stuff... This would be particularly useful in the typescript case which takes upwards of a minute to fully resolve all the references in, say, index.ts.
I think that a statusbar would be a good place for it (so that we have it for both files and notebooks).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/krassowski/jupyterlab-lsp/issues/61?email_source=notifications&email_token=AAALCRDJRISDAFX7NY34RB3QOYKURA5CNFSM4JBA7UFKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HR64IBQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALCRHORFPNSG2SZ4NMA5DQOYKURANCNFSM4JBA7UFA .
Riffing on the status bar idea, perhaps we have it show, e.g.:
(icons for placement only)
[⏳ Python] # initializing
[🎧 Python] # ready
When you click on it, it can show a sidebar/main area widget which shows:
_____________________________________
_| ⏳ Untitled.ipynb Language Server x|___________________
Feature Global Python This File
🆗 Diagnostics ☑️ ☑️ ☑️
❔ Jump To Reference ☑️ ☑️ ☑️
❔ Hover ☑️ ☑️ ☐
Open Advanced Settings Editor...
⛛ Python Language Server Info
Docs | Issues | Version: 0.29.1
Those little status markers are what I would need to know that something has arrived so it can be tested.
I like this idea. It could be in a popover but a new tab/sidebar widget would work as well.
I am working on a basic status indicator right now.
Cool! Excited to see what you come up with.
My thinking on the ugly ASCII mockup: I think more popups/hovers/(context)menus, aside from being harder to test, can make it harder to inform people what choice they are making when it comes to settings. "What the heck is a diagnostic and why would I hide it?" Hence I usually encourage anything remotely settings related (e.g would persist after restart) to err on the side of being more verbose and discoverable.
On Sun, Oct 27, 2019, 15:52 M. Krassowski [email protected] wrote:
I am working on a basic status indicator right now.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/krassowski/jupyterlab-lsp/issues/61?email_source=notifications&email_token=AAALCRBRLZX7RIVKZLKDCODQQXPN3A5CNFSM4JBA7UFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECLGNUA#issuecomment-546727632, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALCRCDTR2XLKHQD52RJO3QQXPN3ANCNFSM4JBA7UFA .
Agree that there should be a way to disable LSP (completely) just in case things are broken or completion is slow so that users to want to temporary disable it without uninstalling the extension.
Also, it's best it there's a way to restart lsp without restarting jupyterlab. This is critical for Docker based users.