summaryrefslogtreecommitdiff
path: root/ftplugin/elixir.lua
blob: 4d6a3e6d5aa5a6485db0aa7ec6dce8b8c23f4cfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if require("lv-utils").check_lsp_client_active "elixirls" then
  return
end

O.formatters.filetype["elixir"] = {
  function()
    return {
      exe = O.lang.elixir.formatter.exe,
      args = O.lang.elixir.formatter.args,
      stdin = not (O.lang.elixir.formatter.stdin ~= nil),
    }
  end,
}

require("formatter.config").set_defaults {
  logging = false,
  filetype = O.formatters.filetype,
}

require("lspconfig").elixirls.setup {
  cmd = { DATA_PATH .. "/lspinstall/elixir/elixir-ls/language_server.sh" },
}

-- needed for the LSP to recognize elixir files (alternativly just use elixir-editors/vim-elixir)
-- vim.cmd([[
--   au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
--   au BufRead,BufNewFile *.eex,*.leex,*.sface set filetype=eelixir
--   au BufRead,BufNewFile mix.lock set filetype=elixir
-- ]])