mirror of
https://github.com/ViViDboarder/vim-settings.git
synced 2024-12-23 15:57:35 +00:00
59 lines
2.0 KiB
Lua
59 lines
2.0 KiB
Lua
|
local M = {}
|
||
|
local utils = require("utils")
|
||
|
|
||
|
function M.configure(options)
|
||
|
utils.try_require("null-ls", function(null_ls)
|
||
|
-- Load newer versions of plugins
|
||
|
local alex = require("plugins.null-ls.linters").alex
|
||
|
local ansiblelint = require("plugins.null-ls.linters").ansiblelint
|
||
|
|
||
|
-- Use ansiblelint for only ansible files
|
||
|
-- null_ls.builtins.diagnostics.ansiblelint.filetypes = { "yaml.ansible" }
|
||
|
|
||
|
local sources = {
|
||
|
-- Generic
|
||
|
null_ls.builtins.formatting.prettier,
|
||
|
null_ls.builtins.formatting.trim_whitespace,
|
||
|
null_ls.builtins.formatting.trim_newlines,
|
||
|
-- Fish
|
||
|
null_ls.builtins.formatting.fish_indent,
|
||
|
-- Python
|
||
|
null_ls.builtins.formatting.reorder_python_imports,
|
||
|
null_ls.builtins.formatting.black,
|
||
|
null_ls.builtins.diagnostics.mypy,
|
||
|
-- Go
|
||
|
null_ls.builtins.diagnostics.golangci_lint,
|
||
|
null_ls.builtins.formatting.gofmt,
|
||
|
-- Text
|
||
|
null_ls.builtins.code_actions.proselint,
|
||
|
null_ls.builtins.diagnostics.proselint,
|
||
|
null_ls.builtins.diagnostics.write_good,
|
||
|
-- null_ls.builtins.diagnostics.alex
|
||
|
alex,
|
||
|
-- Ansible
|
||
|
-- null_ls.builtins.diagnostics.ansiblelint,
|
||
|
ansiblelint,
|
||
|
-- Shell
|
||
|
null_ls.builtins.diagnostics.shellcheck,
|
||
|
-- Rust
|
||
|
null_ls.builtins.formatting.rustfmt,
|
||
|
-- Lua
|
||
|
null_ls.builtins.diagnostics.luacheck,
|
||
|
null_ls.builtins.formatting.stylua,
|
||
|
-- Docker
|
||
|
null_ls.builtins.diagnostics.hadolint,
|
||
|
}
|
||
|
|
||
|
if null_ls["setup"] ~= nil then
|
||
|
options.sources = sources
|
||
|
null_ls.setup(options)
|
||
|
else
|
||
|
-- HACK: Handle old versions of null_ls for vim < 0.6 that don't support `setup`
|
||
|
null_ls.config({ sources = sources })
|
||
|
require("lspconfig")["null-ls"].setup(options)
|
||
|
end
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
return M
|