aboutsummaryrefslogtreecommitdiffstats
path: root/lua/pi/lsp/null-ls.lua
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
commitea0f4bf8ffade657b1d45152dbc183d4679e75c4 (patch)
treecc1fb023bc308e019ddce33a4b0aed39f56805dc /lua/pi/lsp/null-ls.lua
parent1fd0af14d592d612c2aaab7717c04c8806ba3daa (diff)
downloadnvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.tar.gz
nvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.zip
Feat: PI
Diffstat (limited to 'lua/pi/lsp/null-ls.lua')
-rw-r--r--lua/pi/lsp/null-ls.lua53
1 files changed, 53 insertions, 0 deletions
diff --git a/lua/pi/lsp/null-ls.lua b/lua/pi/lsp/null-ls.lua
new file mode 100644
index 0000000..b329ba6
--- /dev/null
+++ b/lua/pi/lsp/null-ls.lua
@@ -0,0 +1,53 @@
+local null_ls = require "null-ls"
+-- local php_actions = require "php-code-actions"
+-- local laravel_actions = require("laravel.code-actions")
+
+null_ls.setup {
+ sources = {
+ -- null_ls.builtins.code_actions.gitsigns,
+ null_ls.builtins.formatting.jq,
+ null_ls.builtins.code_actions.refactoring,
+ null_ls.builtins.formatting.alejandra,
+ null_ls.builtins.diagnostics.luacheck,
+ null_ls.builtins.formatting.stylua,
+
+ null_ls.builtins.diagnostics.yamllint,
+
+ -- 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,
+ -- -- command = "./bin/phpstan",
+ -- -- condition = function ()
+ -- -- return vim.fn.findfile("bin/phpstan") ~= ""
+ -- -- end
+ -- },
+ null_ls.builtins.diagnostics.phpcs.with {
+ method = null_ls.methods.DIAGNOSTICS_ON_SAVE,
+ condition = function(utils)
+ return utils.root_has_file "phpcs.xml"
+ end,
+ },
+ null_ls.builtins.formatting.pint,
+ },
+}
+
+vim.keymap.set({ "n", "v" }, "<leader>vca", vim.lsp.buf.code_action, {desc = "LSP (null ls) Code actions"})
+vim.keymap.set("n", "<leader>vf", function()
+ return vim.lsp.buf.format { async = true }
+end, {desc = "LSP (null ls) Format file"})
+
+-- function to toogle and possible restart it
+vim.api.nvim_create_user_command("NullLsToggle", function()
+ local sources = vim.tbl_map(function(el)
+ return el.name
+ end, null_ls.get_sources())
+ vim.ui.select(sources, {}, function(selected)
+ if not selected then
+ return
+ end
+ null_ls.toggle(selected)
+ end)
+end, {})