49 lines
1.3 KiB
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
|