SoloVim/lua/solo/mason/null-ls.lua
2023-06-14 17:40:26 +03:00

99 lines
2.0 KiB
Lua

local null_ls_status_ok, null_ls = pcall(require, "null-ls")
if not null_ls_status_ok then
return
end
local mason_null_ls_status_ok, mason_null_ls = pcall(require, "mason-null-ls")
if not mason_null_ls_status_ok then
return
end
mason_null_ls.setup({
ensure_installed = {
"autopep8",
"beautysh",
"clang_format",
"codespell",
"cpplint",
"djlint",
"gitlint",
"html_lint",
"isort",
"luacheck",
"misspell",
"mypy",
"phpcbf",
"phpcs",
"prettier",
"rustfmt",
"sql-formatter",
"shfmt",
"yamlfmt",
"cmakelang",
},
automatic_installation = true,
automatic_setup = true,
})
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
local formatting = null_ls.builtins.formatting
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
local diagnostics = null_ls.builtins.diagnostics
-- https://github.com/prettier-solidity/prettier-plugin-solidity
null_ls.setup({
debug = false,
sources = {
diagnostics.codespell,
diagnostics.cpplint,
diagnostics.luacheck.with({
extra_args = {
"--globals",
"vim",
},
}),
diagnostics.misspell,
diagnostics.mypy,
diagnostics.cmake_lint,
formatting.cmake_format,
formatting.autopep8,
formatting.beautysh,
formatting.clang_format,
formatting.djlint,
formatting.google_java_format,
formatting.isort,
formatting.prettier.with({
extra_filetypes = { "toml" },
extra_args = {
"--no-semi",
"--double-quote",
"--no-bracket-spacing",
"--tab-width",
"4",
"--bracket-same-line",
"--html-whitespace-sensitivity",
"strict",
},
}),
formatting.phpcbf,
formatting.rustfmt,
formatting.shfmt.with({
extra_filetypes = {
"bash",
"csh",
"ksh",
"sh",
"zsh",
},
}),
-- formatting.sql_formatter.with({
-- extra_args = {
-- "-c",
-- "/home/kristofers/.config/sql/sql-formatter.json",
-- },
-- }),
formatting.stylua,
formatting.yamlfmt,
formatting.black,
},
})