61 lines
1.5 KiB
Lua
61 lines
1.5 KiB
Lua
local null_ls = require("null-ls")
|
|
|
|
local sources = {
|
|
null_ls.builtins.formatting.prettierd,
|
|
|
|
-- phpcs - standards wordpress
|
|
null_ls.builtins.diagnostics.phpcs.with({
|
|
condition = function(utils)
|
|
return utils.root_has_file({ "vendor/bin/phpcs" })
|
|
end,
|
|
command = "vendor/bin/phpcs",
|
|
args = { "--standard=WordPress", "--report=json", "-s", "-" },
|
|
}),
|
|
-- phpcbf - standards wordpress
|
|
null_ls.builtins.formatting.phpcbf.with({
|
|
condition = function(utils)
|
|
return utils.root_has_file({ "vendor/bin/phpcbf" })
|
|
end,
|
|
command = "vendor/bin/phpcbf",
|
|
args = { "--standard=WordPress", "-" },
|
|
}),
|
|
|
|
-- phpcs
|
|
null_ls.builtins.diagnostics.phpcs.with({
|
|
condition = function(utils)
|
|
return not utils.root_has_file({ "vendor/bin/phpcs" })
|
|
end,
|
|
args = { "--standard=PSR12", "--report=json", "-s", "-" },
|
|
}),
|
|
-- phpcbf
|
|
null_ls.builtins.formatting.phpcbf.with({
|
|
condition = function(utils)
|
|
return not utils.root_has_file({ "vendor/bin/phpcbf" })
|
|
end,
|
|
args = { "--standard=PSR12", "--report=json", "-s", "-" },
|
|
}),
|
|
|
|
-- black
|
|
null_ls.builtins.formatting.black,
|
|
-- shellcheck,
|
|
null_ls.builtins.diagnostics.shellcheck,
|
|
-- flake8
|
|
null_ls.builtins.diagnostics.flake8,
|
|
-- luaFormatter
|
|
null_ls.builtins.formatting.lua_format,
|
|
}
|
|
|
|
null_ls.setup({
|
|
sources = sources,
|
|
on_attach = function(client)
|
|
if client.resolved_capabilities.document_formatting then
|
|
vim.cmd([[
|
|
augroup lsp_formatting
|
|
autocmd! * <buffer>
|
|
autocmd BufWritePre <buffer> :lua vim.lsp.buf.formatting_seq_sync({}, 3000)
|
|
augroup END
|
|
]])
|
|
end
|
|
end,
|
|
})
|