From db8eb7025a2fa90d927d6719524265dd5363bb91 Mon Sep 17 00:00:00 2001 From: offsetcyan Date: Thu, 15 Aug 2024 18:57:40 +0100 Subject: [PATCH 1/2] Documentation for configuring ELP with Helix --- website/docs/get-started/editors/helix.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 website/docs/get-started/editors/helix.md diff --git a/website/docs/get-started/editors/helix.md b/website/docs/get-started/editors/helix.md new file mode 100644 index 0000000000..70bae5b636 --- /dev/null +++ b/website/docs/get-started/editors/helix.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 6 +--- + +# Helix + +![screenshot](/img/helix.png) + +The ELP project can be used as a [language server](https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/) +in Helix with it's native LSP support. + +To configure the LSP server, navigate to a [language configuration file](https://docs.helix-editor.com/languages.html) +(i.e. `~/.config/helix/languages.toml`) and add it's configuration to the Erlang language. + +``` +[language-server.elp] +command = "elp" +args = ["server"] + +[[language]] +name = "erlang" +language-servers = [ "elp" ] +``` From 1bcc949c7c6c5382e975197a5e571a4ce241eb48 Mon Sep 17 00:00:00 2001 From: offsetcyan Date: Thu, 15 Aug 2024 19:04:27 +0100 Subject: [PATCH 2/2] Helix w/ELP LSP screenshot --- website/static/img/helix.png | Bin 0 -> 20799 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/static/img/helix.png diff --git a/website/static/img/helix.png b/website/static/img/helix.png new file mode 100644 index 0000000000000000000000000000000000000000..08cccbe2a701c6df63019c740082369c21098dd5 GIT binary patch literal 20799 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 fsS%!OzP=1vKsE