1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/null-ls.lua

64 lines
2.2 KiB
Lua

local M = {
'jose-elias-alvarez/null-ls.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
}
function M.config()
local nls = require 'null-ls'
nls.setup({
debug = false,
temp_dir = vim.env.XDG_RUNTIME_DIR or '/tmp',
sources = {
nls.builtins.formatting.xmllint,
nls.builtins.formatting.jq,
-- nls.builtins.formatting.clang_format,
nls.builtins.diagnostics.sqlfluff,
nls.builtins.diagnostics.phpstan.with({
cwd = function(params)
-- falls back to root if return value is nil
return params.root:match('jopixel') and not params.root:match('repo') and 'www';
end,
}),
nls.builtins.formatting.phpcsfixer.with({
extra_args = {
'--rules',
vim.fn.json_encode({
['@Symfony'] = true,
nullable_type_declaration_for_default_null_value = true,
array_syntax = { syntax = 'short' },
fully_qualified_strict_types = false,
binary_operator_spaces = {
default = 'single_space',
operators = {
['=>'] = 'align_single_space_minimal',
['='] = 'align_single_space_minimal',
['??='] = 'align_single_space_minimal',
['^='] = 'align_single_space_minimal',
['|='] = 'align_single_space_minimal',
['+='] = 'align_single_space_minimal',
['%='] = 'align_single_space_minimal',
['&='] = 'align_single_space_minimal',
['**='] = 'align_single_space_minimal',
['*='] = 'align_single_space_minimal',
['-='] = 'align_single_space_minimal',
['.='] = 'align_single_space_minimal',
['/='] = 'align_single_space_minimal',
['<<='] = 'align_single_space_minimal',
['<='] = 'align_single_space_minimal',
['>='] = 'align_single_space_minimal',
['>>='] = 'align_single_space_minimal'
},
},
}),
},
}),
nls.builtins.diagnostics.shellcheck,
nls.builtins.formatting.eslint,
-- nls.builtins.diagnostics.eslint,
nls.builtins.code_actions.eslint,
},
})
end
return M