54 lines
1.5 KiB
Lua
54 lines
1.5 KiB
Lua
---@diagnostic disable: undefined-global
|
|
-- null-ls setup module
|
|
local M = {}
|
|
|
|
function M.setup()
|
|
local null_ls = require 'null-ls'
|
|
local null_ls_utils = require 'null-ls.utils'
|
|
local formatting = null_ls.builtins.formatting
|
|
local diagnostics = null_ls.builtins.diagnostics
|
|
|
|
local sources = {
|
|
formatting.gofumpt.with({ extra_args = { "-extra" } }),
|
|
formatting.goimports.with({ args = { "-local", "", "-w", "$FILENAME" } }),
|
|
diagnostics.golangci_lint.with({
|
|
diagnostics_format = '#{m}',
|
|
extra_args = {
|
|
'--fast',
|
|
'--max-issues-per-linter', '30',
|
|
'--max-same-issues', '4',
|
|
'--max-same-issues-per-linter', '0',
|
|
'--fix=false',
|
|
'--tests=false',
|
|
'--print-issued-lines=false',
|
|
'--timeout=10s',
|
|
'--out-format=json',
|
|
},
|
|
method = null_ls.methods.DIAGNOSTICS_ON_SAVE,
|
|
timeout = 10000,
|
|
}),
|
|
formatting.prettier.with {
|
|
filetypes = { 'css', 'scss', 'html', 'markdown', 'yaml', 'yml' },
|
|
extra_args = {
|
|
'--bracket-same-line',
|
|
'--trailing-comma', 'all',
|
|
'--tab-width', '2',
|
|
'--semi',
|
|
'--single-quote',
|
|
},
|
|
},
|
|
formatting.shfmt.with { extra_args = { '-i', '2', '-ci', '-bn' } },
|
|
formatting.sqlfluff.with { extra_args = { '--dialect', 'tsql' } },
|
|
}
|
|
|
|
null_ls.setup {
|
|
root_dir = null_ls_utils.root_pattern('.null-ls-root', 'Makefile', '.git'),
|
|
timeout = 10000,
|
|
debounce = 250,
|
|
update_in_insert = false,
|
|
sources = sources,
|
|
}
|
|
end
|
|
|
|
return M
|