unison icon indicating copy to clipboard operation
unison copied to clipboard

LSP server that communicates over `stdio`

Open zetashift opened this issue 1 year ago • 2 comments

The problem

Currently for the following editors (as far as I know of):

  • neovim
  • helix
  • Zed

The LSP requires a program such as nc. Specifically for Zed and helix, this as of know, makes it so that there isn't an 'easy'/1-click way to use the LSP. Zed is blocked by: https://github.com/zed-industries/zed/issues/8498 And for helix, the maintainers dislike hardcoding a program such as nc.

What I would like to see is some standalone server that speaks over stdio so that users of the other editors can (more easily) start with Unison. For example:

ucm --lsp
# Or...
ucm-lsp

zetashift avatar Apr 03 '24 20:04 zetashift

To me the tricky part seems to be that ucm is tied to the context of which project/namespace you are in. If you start a standalone server, which project is it in? You could do something like ucm --lsp --path httpclient/main, but what about when you want to branch, switch projects, etc? Also I think that currently the assumption is that you have a single instance of ucm running and managing a codebase at a time (which is enforced by a lock file).

Having said that, I totally agree that this would be nice.

ceedubs avatar Apr 03 '24 21:04 ceedubs

We could have a "project" pragma in the file to select which one the LSP works out of.

aryairani avatar Jun 10 '24 21:06 aryairani