64 lines
2.2 KiB
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
|