Dotfiles_nvim/lua/toolchain/php.lua

49 lines
1.3 KiB
Lua

local T = require('toolchain')
local M = {}
function M.setup()
T.add_highlighter_autoinstalls('php', 'phpdoc', 'twig')
T.add_null_ls_module(function(null_ls)
return {
-- Diagnostics
null_ls.builtins.diagnostics.twigcs,
-- Formatter
null_ls.builtins.formatting.phpcsfixer.with({
prefer_local = 'vendor/bin/php-cs-fixer',
args = { 'fix', '--allow-risky=yes', '$FILENAME' },
}),
}
end)
T.add_lsp_autoinstalls(
'phpactor',
'php-debug-adapter',
'twiggy_language_server',
'stimulus_ls'
)
T.add_lsps(function(lspconfig, capabilities)
local config = { capabilities = capabilities }
lspconfig.phpactor.setup(config)
lspconfig.stimulus_ls.setup(config)
end)
T.add_debug_adapter('php', {
type = 'executable',
command = 'node',
args = {
vim.loop.os_homedir()
.. '/.local/share/nvim/mason/packages/php-debug-adapter/extension/out/phpDebug.js',
},
})
T.add_debug_config('php', {
{
type = 'php',
request = 'launch',
name = 'Listen for Xdebug',
port = 9003,
},
})
end
return M