-
-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathinit.lua
More file actions
49 lines (36 loc) · 1.02 KB
/
init.lua
File metadata and controls
49 lines (36 loc) · 1.02 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
local elixirls = require("elixir.elixirls")
local credo = require("elixir.credo")
local mix = require("elixir.mix")
local projectionist = require("elixir.projectionist")
local M = {}
M.elixirls = {}
M.elixirls.settings = elixirls.settings
M.elixirls.open_output_panel = elixirls.open_output_panel
M.credo = {}
M.credo.default_bin = (
vim.fn.fnamemodify(debug.getinfo(1).source, ":h") .. "/../../bin/credo-language-server"
):gsub("^@", "")
M.credo.default_version = "0.0.5"
local enabled = function(value)
return value == nil or value == true
end
function M.setup(opts)
opts = opts or {}
opts.elixirls = opts.elixirls or {}
opts.credo = opts.credo or {}
if not opts.credo.cmd then
opts.credo.cmd = M.credo.default_bin
end
if not opts.credo.version then
opts.credo.version = M.credo.default_version
end
mix.setup()
projectionist.setup()
if enabled(opts.elixirls.enable) then
elixirls.setup(opts.elixirls)
end
if enabled(opts.credo.enable) then
credo.setup(opts.credo)
end
end
return M