aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/lsp/null-ls.lua
blob: 0a4443a88f6af2a1e71c4a6f9aea4a33a7725f17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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,

    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, {})
vim.keymap.set("n", "<leader>vf", function()
  return vim.lsp.buf.format { async = true }
end, {})