deno icon indicating copy to clipboard operation
deno copied to clipboard

Add notebook support to the language server

Open zebreus opened this issue 1 year ago • 2 comments

I started tinkering around with adding notebook support to the deno language server. Still WIP

zebreus avatar Dec 08 '23 21:12 zebreus

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Dec 08 '23 21:12 CLAassistant

Hey @zebreus, thanks for opening the Pull Request. Could you give us some context here on what you're trying to achieve. We can definitely help and provide pointers.

bartlomieju avatar Dec 19 '23 22:12 bartlomieju

@zebreus are you still working on this one?

ceifa avatar May 03 '24 15:05 ceifa

I am no longer working on this PR.

If I remember correctly, the Deno language server does not have proper notebook support but treats every cell like a separate document. This is the default fallback mechanism for notebooks if the language server does not support notebooks. That behavior causes some problems; for example, the type of variables from the previous cell is unknown in the subsequent cells. Fixing this would require the language server to treat all cells as a single file, but that would come with other issues, as the cells are not necessarily executed from top to bottom. However, that would still be more useful than the current implementation. Afaik, no language server for a statically typed language currently has good support for notebooks.

The language server protocol supports notebooks, but we need tower-lsp to do the same. I opened a PR over there (ebkalderon/tower-lsp#401), but that is blocked by gluon-lang/lsp-types#266, which is blocked by gluon-lang/lsp-types#266.

I am closing this PR because I have given up on using deno for notebooks.

zebreus avatar May 04 '24 18:05 zebreus

@zebreus thanks for the update.

I am closing this PR because I have given up on using deno for notebooks.

Was there particular reason you gave up?

bartlomieju avatar May 04 '24 21:05 bartlomieju