dotfiles/config/neovim/lua/opdavies/lsp/null-ls.lua
Oliver Davies f468f8aa5f feat(nvim): only run PHPCS if there is a
...phpcs.xml.dist file.
2023-05-11 14:14:03 +01:00

50 lines
1.1 KiB
Lua

local status_ok, null_ls = pcall(require, "null-ls")
if not status_ok then
return
end
local lsp_formatting = function(bufnr)
vim.lsp.buf.format {
filter = function(client)
return client.name == "null-ls"
end,
bufnr = bufnr,
}
end
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
local code_actions = null_ls.builtins.code_actions
local diagnostics = null_ls.builtins.diagnostics
local formatting = null_ls.builtins.formatting
null_ls.setup {
sources = {
formatting.phpcbf,
code_actions.gitsigns,
formatting.black,
formatting.markdownlint,
formatting.prettier,
formatting.rustywind,
formatting.stylua,
diagnostics.eslint.with({
condition = function(utils)
return utils.root_has_file({ '.eslintrc.js' })
end,
}),
diagnostics.markdownlint,
diagnostics.php,
diagnostics.phpcs.with({
condition = function(utils)
return utils.root_has_file({ 'phpcs.xml.dist' })
end,
}),
diagnostics.phpstan,
diagnostics.shellcheck,
},
temp_dir = "/tmp",
}