55 lines
1.5 KiB
Lua
55 lines
1.5 KiB
Lua
local Linter = require("linter")
|
|
local util = require("util")
|
|
|
|
---@type vim.lsp.Config
|
|
return {
|
|
settings = {
|
|
intelephense = {
|
|
format = {
|
|
enable = true,
|
|
braces = "per",
|
|
},
|
|
},
|
|
},
|
|
on_attach = function(_, bufnr)
|
|
Linter.add(bufnr, {
|
|
cmd = {
|
|
"phpcs",
|
|
"--report=emacs",
|
|
"-s",
|
|
"-q",
|
|
"--stdin-path=%file%",
|
|
"-",
|
|
},
|
|
stdin = true,
|
|
stdout = true,
|
|
pattern = "^.+:(%d+):(%d+): (%w+) %- (.*) %((.*)%)$",
|
|
groups = { "lnum", "col", "severity", "message", "code" },
|
|
source = "phpcs",
|
|
severity_map = {
|
|
error = vim.diagnostic.severity.ERROR,
|
|
warning = vim.diagnostic.severity.WARN,
|
|
},
|
|
zero_idx_col = true,
|
|
zero_idx_lnum = true,
|
|
ignore_stderr = true,
|
|
})
|
|
|
|
vim.keymap.set("n", "<leader>lf", function()
|
|
vim.lsp.buf.format()
|
|
util.format({
|
|
buf = bufnr,
|
|
cmd = {
|
|
"php-cs-fixer",
|
|
"fix",
|
|
"%file%",
|
|
"--quiet",
|
|
},
|
|
output = "in_place",
|
|
ignore_stderr = true,
|
|
env = { PHP_CS_FIXER_IGNORE_ENV = "1" },
|
|
})
|
|
end, { buffer = bufnr })
|
|
end,
|
|
}
|