jupyterlab-monaco
jupyterlab-monaco copied to clipboard
LSP (language server protocol) integration
Here we can discuss the future plans for LSP integration 👍
WIP PR: https://github.com/jupyterlab/jupyterlab-monaco/pull/12
Since JupyterCon is coming to New York soon, which is where I am, we had had thoughts of doing work on the hacking day after the conference. It could be a good opportunity for us to get together to push this integration, perhaps using pr #12 as a basis.
I think this is a good first step (to plan on having folks gather to work on this at the JupyterCon Sprints). Pasting some general notes from elsewhere:
A few thoughts about LSP integration:
- We probably want to have a jupyter notebook server extension that can act as a proxy between specific LSPs and the frontend, through a standard web socket protocol and URLs. I am thinking of new endpoints like /lsp/python or /lsp/R and something that can return the list of available and running LSP servers.
- A new set of classes on jupyterlab services that has a well designed client to those endpoints and which returns the actual client LSP objects that Monaco needs.
These two projects both offer monaco editors in JupyterLab with LSP support:
https://github.com/theia-ide/theia https://github.com/R-Brain/jupyterlab
I have created a PR to the enhancement-proposals repo regarding LSP support in jupyterlab-monaco: https://github.com/jupyter/enhancement-proposals/pull/26