roc/crates/lang_srv/README.md
Ayaz 09114db0ed
Update README.md
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-10-25 17:14:50 -05:00

2.2 KiB

roc_ls

This is a rudimentary language server for supporting basic editor usage in Roc.

Support for the following LSP features are provided:

Semantic highlighting will also be added soon. Additional features require changes to the compiler infrastructure that are not yet available.

Note that the language server is a bit naive:

  • If you make a change in a dependency, you'll need to also make a change in the dependents' files for the changes to be picked up
  • The language server will only operate on changes that are also reflected on disk (so save often)

Installing

At this time, only from-source installations of the binary are supported.

Follow the installation from source instructions. Then run

cargo build -p roc_lang_srv --release

which will give you a language server binary at

target/release/roc_ls

Configuring in your editor

Please follow your editor's language server implementation's documentation to see how custom language servers should be configured.

coc.nvim

Add the following to your coc JSON configuration file:

{
  "languageserver": {
    "roc": {
      "command": "<path to binary folder>/roc_ls",
      "filetypes": ["roc"]
    }
  }
}

If you're using coc.nvim and want to use the configuration above, be sure to also instruct your vim that *.roc files have roc filetype.

Debug

If you want to debug the server, use debug_server.sh instead of the direct binary.