-
Notifications
You must be signed in to change notification settings - Fork 148
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
Statusbar #78
Statusbar #78
Conversation
emitted (fixing requires creating a fork for the connection implementation)
Thanks for making a pull request to JupyterLab! To try out this branch on binder, follow this link: |
It would be helpful if we could know if there is an LSP server for given language (from the frontend). Maybe the dear endpoints could return 404 or something similar? |
While contributing to the upstream is always good, I concur, it may be best, at least in the near term, to fork, at least until we figure out what needs to change and/or have a larger API surface exposed... for example, I wanted to look into adding hierarchical symbol support, but the initialization message is hard-coded inside the function. This would be another compelling thing to do on #76 at any point after stage 1 (currently working on it, but again, should in no way block the 0.6.0 line).
Hm, websockets are funny, and not expecting to 404... i think the connection would already open. We could have |
Wooee, that's quite a status thing. Also for settings icons, we're gonna need an icon. How do these hit you? (helps to zoom way out, as the status bar is only 24px)
The color ones could play a bit more (like the underlines could be another color), but for status bar icons you pretty much just get tone... |
I would prefer the leftmost one. In the rightmost one, it is not so obvious that the pipe on the left represents 'L'. I think that actually this reflects that we configure language servers' features, rather than the language server protocol itself. On the other hand, "LSP" acronym is what ppl are already familiar with (so not sure what is the best course of action). In the long term, I was also thinking about changing the branding more in the direction of "IntelliSense" (TM of Microsoft) as this is essentialy what we provide (literally depending on small pieces of VSCode) - and more explanatory to a novice user. Something like "JupyterLab code inteligence", "JupyterLab language intelligence" etc. But this is not very important now, and if you think this is better to have an icon already, I would go with the leftmost one! Is FiraCode already used by JupyterLab or would it be a new dependency? |
👎 there's basically no reason to introduce that, not least because of ™️. If anything, it would be in the docs,
But nah, we shouldn't have that string in the code anywhere.
Consider the new user using hub and lab for a class and learning to code for the first time: they won't know any of the acronyms or branding, but would still substantially benefit from the features. the challenge is to reveal the features as simply and naturally as possible... and we won't have to worry about branding at all once we get into jupyterlab/jupyterlab 🐒
yeah, if only for testing, and making it easier for people to suggest a new one (single file PR). I want to be able to find it on the page, and write docs about it. otherwise in Advanced Settings we just get a gear. Also we're probably going to need a family of icons, very possibly one per language server, but that's further down the road.
not without jupyterlab-fonts 👻. we'd cook it down to svg anyway. |
@bollwyvl I got an initial version of the statusbar ready.
A typical picture from a single file editor: An advanced case of a notebook with cells including other languages: |
Merging as-is, as it provides a huge usability improvement already (users get a visual indication that the extension is enabled and my deduce why it might not be working as intended and can provide us with some useful info for debugging). I gotta go and do some science, will be back on Saturday. |
Science hard, my friend! |
Currently "uninitialized virtual documents" messages are false alarms as the "
serverInitialized
" event is not emitted (fixing requires creating a fork for the connection implementation - got the code, but not the time to publish)