Dotfiles_nvim/lua/toolchain/php.lua

50 lines
1.4 KiB
Lua
Raw Normal View History

2024-09-07 20:39:22 +02:00
local T = require('toolchain')
local M = {}
2024-09-08 01:50:39 +02:00
function M.setup()
2024-09-07 20:39:22 +02:00
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',
2025-01-13 15:53:56 +01:00
-- 'php-debug-adapter', Mason LSP Config does not allow autoinstalling the dap, Mason command needs to be run manually
'twiggy_language_server',
'stimulus_ls'
)
2024-09-07 20:39:22 +02:00
T.add_lsps(function(lspconfig, capabilities)
local config = { capabilities = capabilities }
lspconfig.phpactor.setup(config)
lspconfig.stimulus_ls.setup(config)
end)
2025-01-13 15:30:01 +01:00
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,
},
})
2024-09-07 20:39:22 +02:00
end
return M