aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-08 20:17:00 +0100
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-01-08 20:17:00 +0100
commit927037c181f379076ab295db0a65e7f713c05a10 (patch)
treec5dbdaad8ed1182d62b300bd9100b947f10e707a /lua
parenta5e69083458cd3e9b93c5580b2c258ad231d65a1 (diff)
downloadnvim-conf-927037c181f379076ab295db0a65e7f713c05a10.tar.gz
nvim-conf-927037c181f379076ab295db0a65e7f713c05a10.zip
feat: refactor null ls into lsp module
Diffstat (limited to 'lua')
-rw-r--r--lua/alpha/lsp/init.lua2
-rw-r--r--lua/alpha/lsp/null-ls.lua36
2 files changed, 38 insertions, 0 deletions
diff --git a/lua/alpha/lsp/init.lua b/lua/alpha/lsp/init.lua
index 86b06a6..c29472d 100644
--- a/lua/alpha/lsp/init.lua
+++ b/lua/alpha/lsp/init.lua
@@ -10,3 +10,5 @@ require('mason-lspconfig').setup_handlers({
lspconfig[server_name].setup(setups[server_name]())
end
})
+
+require('alpha.lsp.null-ls')
diff --git a/lua/alpha/lsp/null-ls.lua b/lua/alpha/lsp/null-ls.lua
new file mode 100644
index 0000000..f7f925c
--- /dev/null
+++ b/lua/alpha/lsp/null-ls.lua
@@ -0,0 +1,36 @@
+local null_ls = require("null-ls")
+local composer = require("composer")
+local php_actions = require("php-code-actions")
+local laravel_actions = require("laravel.code-actions")
+
+local sources = {
+ null_ls.builtins.code_actions.gitsigns,
+ null_ls.builtins.formatting.jq,
+ null_ls.builtins.code_actions.refactoring,
+
+ php_actions.getter_setter,
+ php_actions.file_creator,
+
+ null_ls.builtins.diagnostics.phpstan.with({
+ to_temp_file = false,
+ method = null_ls.methods.DIAGNOSTICS_ON_SAVE,
+ }),
+}
+
+if composer.query({ "require", "symfony/framework-bundle" }) ~= nil then
+ table.insert(sources, null_ls.builtins.diagnostics.phpcs.with({
+ method = null_ls.methods.DIAGNOSTICS_ON_SAVE,
+ }))
+elseif composer.query({ "require", "laravel/framework" }) ~= nil then
+ table.insert(sources, null_ls.builtins.formatting.pint)
+ table.insert(sources, laravel_actions.relationships)
+end
+
+null_ls.setup({
+ sources = sources,
+})
+
+vim.keymap.set({ "n", "v" }, "<leader>vca", vim.lsp.buf.code_action, {})
+vim.keymap.set("n", "<leader>vf", function()
+ return vim.lsp.buf.format({ async = true })
+end, {})