summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua')
-rw-r--r--start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua b/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua
new file mode 100644
index 0000000..d51aa50
--- /dev/null
+++ b/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/elixirls.lua
@@ -0,0 +1,39 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ filetypes = { 'elixir', 'eelixir' },
+ root_dir = function(fname)
+ return util.root_pattern('mix.exs', '.git')(fname) or vim.loop.os_homedir()
+ end,
+ },
+ docs = {
+ description = [[
+https://github.com/elixir-lsp/elixir-ls
+
+`elixir-ls` can be installed by following the instructions [here](https://github.com/elixir-lsp/elixir-ls#building-and-running).
+
+```bash
+curl -fLO https://github.com/elixir-lsp/elixir-ls/releases/latest/download/elixir-ls.zip
+unzip elixir-ls.zip -d /path/to/elixir-ls
+# Unix
+chmod +x /path/to/elixir-ls/language_server.sh
+```
+
+**By default, elixir-ls doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of your unzipped elixir-ls.
+
+```lua
+require'lspconfig'.elixirls.setup{
+ -- Unix
+ cmd = { "/path/to/elixir-ls/language_server.sh" };
+ -- Windows
+ cmd = { "/path/to/elixir-ls/language_server.bat" };
+ ...
+}
+```
+]],
+ default_config = {
+ root_dir = [[root_pattern("mix.exs", ".git") or vim.loop.os_homedir()]],
+ },
+ },
+}