Files
nvim/after/lsp/intelephense.lua
T
2026-02-11 18:52:08 +01:00

58 lines
1.5 KiB
Lua

local Linter = require("linter")
local lsp = require("lsp")
local util = require("util")
---@type vim.lsp.Config
return {
settings = {
intelephense = {
format = {
enable = true,
braces = "per",
},
},
},
on_attach = function(client, bufnr)
lsp.on_attach(client, 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,
}