aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rwxr-xr-xinstaller/install-erlang-ls.sh8
-rw-r--r--settings.json9
-rw-r--r--settings/erlang-ls.vim13
4 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index 5ea618a..1f7cefb 100644
--- a/README.md
+++ b/README.md
@@ -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