Support diagnostics panel in Notebook v7+#981
Support diagnostics panel in Notebook v7+#981krassowski wants to merge 1 commit intojupyter-lsp:mainfrom
Conversation
| app.shell.add(panelWidget, 'right'); | ||
| await app.commands.execute('application:toggle-panel', { | ||
| id: panelWidget.id, | ||
| side: 'right' | ||
| }); |
There was a problem hiding this comment.
This does not seem to be enough to add a Notebook panel from extension 😿. I am yet to investigate further, but in the meantime, @jtpio do you have thoughts on this one (given our other conversation on lab-notebook shell interfaces divergence)?
There was a problem hiding this comment.
Hmmm...
app instanceof NotebookApp
This is probably not going to work, long term, as it means the notebook packages will be bundled along with the already-large (and duplicated) jupyterlab-lsp assets, and could very well return a false negative if webpack is feeling grumpy.
Making it a sharedPackage might improve things, but would really need to be in an entirely separate plugin file with a naked (not type) import...
Further, this is often not enough information, as one still has to consult the PageConfig.getOption('notebookPage'), to determine whether a given notebook page should not be able to get a panel (e.g. tree, terminal)... it would actually be lovely if this list of documented string constants (not as a TypeScript enum, for the same reason above) were hoisted as a dedicate package.
Alas, we kinda missed the boat on changing the IFrontendShell interface to provide a dumb, string-capability-based model on the major version revs.
There was a problem hiding this comment.
Thus far, this pattern has worked for stuff I've been tinkering with:
References
An attempt to display diagnostics panel in notebook v7
Code changes
Import
NotebookAppand execute appropriate command.User-facing changes
TBD
Backwards-incompatible changes
None