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', Mason LSP Config does not allow autoinstalling the dap, Mason command needs to be run manually '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