1
1
mirror of https://github.com/tweag/nickel.git synced 2024-09-11 11:47:03 +03:00

Add nls readme

This commit is contained in:
Yannik Sander 2021-12-13 17:38:30 +01:00
parent 7b517242f4
commit 5233d80bb5

49
lsp/README.md Normal file
View File

@ -0,0 +1,49 @@
# Nickel Language Server
NLS is a language server for the nickel programming language. Making use of the interpreter libraries directly, allows nls to offer error messages, type hints, and autocompletion right in your favorite lsp-enabled editor.
## Server
To be editor independent `nls` is made up of two components the server and possible lsp-client configurations that talk to the server directly.
Hence, the server has to be installed separately to the client configuration.
### Installation
The easiest way to install `nls` is using nix. `nls` is installed in the same installation as `nickel`:
To enter a shell with `nickel` and `nls` run
```
nix shell github:tweag/nickel
```
## Client
Different clients have varying ways to install lsp clients:
### VS Code
Until nls is available through the vscode marketplace, it can be built using nix:
Either using the command line
```
code --install-extension $(nix build ./\#vscodeExtension --no-link --json | jq ".[0].outputs.vsix")
```
or in two steps, by first building the extension
```
nix build github:tweag/nickel#vscodeExtension.vsix
```
then installing it using `Extension: Install from VSIX` in the vscode command palette and choosing `./result-vsix/nls-client.vsix`.
#### Configuration
The VS Code extension offers three configuration options:
- `"nls.server.path"`: Path to nickel language server
- `"nls.server.trace"`: "Enables performance tracing to the given file"
- `"nls.server.debugLog"`: "Logs the communication between VS Code and the language server."