@@ -3,12 +3,16 @@ local M = {}
3
3
function M .config ()
4
4
return {
5
5
formatters = {
6
- lua = { exe = " stylua" , args = {} },
7
- sh = { exe = " shfmt" , args = { " -i" , " 2" , " -ci" , " -bn" } },
6
+ { cmd = " stylua" , args = {}, filetypes = { " lua " } },
7
+ { cmd = " shfmt" , args = { " -i" , " 2" , " -ci" , " -bn" }, filetypes = { " sh " } },
8
8
},
9
9
linters = {
10
- lua = { exe = " luacheck" , args = {} },
11
- sh = { exe = " shellcheck" , args = { " --exclude=SC1090,SC1091" } },
10
+ { cmd = " luacheck" , args = {}, filetypes = { " lua" } },
11
+ { cmd = " shellcheck" , args = { " --exclude=SC1090,SC1091" }, filetypes = { " sh" } },
12
+ },
13
+ code_actions = {
14
+ { cmd = " gitsigns" , filetypes = {} },
15
+ { cmd = " shellcheck" , filetypes = {} },
12
16
},
13
17
}
14
18
end
@@ -45,19 +49,23 @@ function M:setup()
45
49
46
50
local null_ls = require " null-ls"
47
51
local sources = {}
48
- for _ , provider in pairs (config .formatters ) do
49
- local source = null_ls .builtins .formatting [provider .exe ].with {
52
+ for _ , provider in ipairs (config .formatters ) do
53
+ local source = null_ls .builtins .formatting [provider .cmd ].with {
50
54
extra_args = provider .args ,
51
55
}
52
56
table.insert (sources , source )
53
57
end
54
58
55
- for _ , provider in pairs (config .linters ) do
56
- local source = null_ls .builtins .diagnostics [provider .exe ].with {
59
+ for _ , provider in ipairs (config .linters ) do
60
+ local source = null_ls .builtins .diagnostics [provider .cmd ].with {
57
61
extra_args = provider .args ,
58
62
}
59
63
table.insert (sources , source )
60
64
end
65
+ for _ , provider in ipairs (config .code_actions ) do
66
+ local source = null_ls .builtins .code_actions [provider .cmd ].with {}
67
+ table.insert (sources , source )
68
+ end
61
69
null_ls .config { sources = sources , log = { level = " warn" } }
62
70
end
63
71
0 commit comments