diff options
-rw-r--r-- | README.md | 1 | ||||
-rwxr-xr-x | installer/install-erlang-ls.sh | 8 | ||||
-rw-r--r-- | settings.json | 9 | ||||
-rw-r--r-- | settings/erlang-ls.vim | 13 |
4 files changed, 31 insertions, 0 deletions
@@ -96,6 +96,7 @@ Currently, no way to uninstall/update server. Run this command again, newer vers | Elixir | elixir-ls | Yes | | Groovy | groovy-language-server | Yes | | Dart | analysis-server-dart-snapshot | Yes | +| Erlang | erlang-ls | Yes | ## License diff --git a/installer/install-erlang-ls.sh b/installer/install-erlang-ls.sh new file mode 100755 index 0000000..05ecf5b --- /dev/null +++ b/installer/install-erlang-ls.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e + +git clone --depth=1 https://github.com/erlang-ls/erlang_ls . +make + +ln -s ./_build/default/bin/erlang_ls erlang-ls diff --git a/settings.json b/settings.json index 4e7c716..e344ce4 100644 --- a/settings.json +++ b/settings.json @@ -79,6 +79,15 @@ ] } ], + "erlang": [ + { + "command": "erlang-ls", + "requires": [ + "make", + "rebar3" + ] + } + ], "fortran": [ { "command": "fortls", diff --git a/settings/erlang-ls.vim b/settings/erlang-ls.vim new file mode 100644 index 0000000..698338c --- /dev/null +++ b/settings/erlang-ls.vim @@ -0,0 +1,13 @@ +augroup vimlsp_settings_erlang_ls + au! + LspRegisterServer { + \ 'name': 'erlang-ls', + \ 'cmd': {server_info->lsp_settings#get('erlang-ls', 'cmd', [lsp_settings#exec_path('erlang-ls'), '--transport', 'stdio'])}, + \ 'root_uri':{server_info->lsp_settings#get('erlang-ls', 'root_uri', lsp_settings#root_uri(['.git/', 'rebar.config']))}, + \ 'initialization_options': lsp_settings#get('erlang-ls', 'initialization_options', {}), + \ 'whitelist': lsp_settings#get('erlang-ls', 'whitelist', ['erlang']), + \ 'blacklist': lsp_settings#get('erlang-ls', 'blacklist', []), + \ 'config': lsp_settings#get('erlang-ls', 'config', {}), + \ 'workspace_config': lsp_settings#get('erlang-ls', 'workspace_config', {}), + \ } +augroup END |