aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/lsp/null-ls.lua
blob: f80b183554727f36ceb116d0ebf18a49a5041598 (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
39
40
41
42
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,
  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,
  },
}

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, {})