aboutsummaryrefslogtreecommitdiffstats
path: root/lua/pi/lsp/null-ls.lua
diff options
context:
space:
mode:
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, {})