Implement php debugging

This commit is contained in:
Jakob Lechner 2025-06-16 17:16:25 +02:00
parent a7575016a8
commit bfe01df333
2 changed files with 57 additions and 12 deletions

View file

@ -284,6 +284,7 @@
ublock-origin
umatrix
violentmonkey
xdebug-helper-for-firefox
youtube-shorts-block
];
settings = {

View file

@ -50,19 +50,27 @@ in
sign define LspDiagnosticsSignInformation text=🟣
sign define LspDiagnosticsSignHint text=🟢
nnoremap <silent> de <cmd>lua vim.diagnostic.enable(not vim.diagnostic.is_enabled())<CR>
nnoremap <silent> di <cmd>lua vim.diagnostic.open_float()<CR>
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> ge <cmd>lua vim.lsp.diagnostic.set_loclist()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> <leader>f <cmd>lua vim.lsp.buf.formatting()<CR>
nnoremap <silent> <leader>rn <cmd>lua vim.lsp.buf.rename()<CR>
nnoremap <silent> <leader>e <cmd>lua vim.diagnostic.enable(not vim.diagnostic.is_enabled())<CR>
nnoremap <silent> <leader>i <cmd>lua vim.diagnostic.open_float()<CR>
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> ge <cmd>lua vim.lsp.diagnostic.set_loclist()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> <leader>f <cmd>lua vim.lsp.buf.formatting()<CR>
nnoremap <silent> <leader>rn <cmd>lua vim.lsp.buf.rename()<CR>
nnoremap <silent> <leader>a <cmd>lua vim.lsp.buf.code_action()<CR>
xmap <silent> <leader>a <cmd>lua vim.lsp.buf.range_code_action()<CR>
nnoremap <silent> dh <cmd>lua require('dap.ui.widgets').hover()<CR>
nnoremap <silent> dp <cmd>lua require('dap.ui.widgets').preview()<CR>
nnoremap <silent> dc <cmd>lua require('dap').continue()<CR>
nnoremap <silent> do <cmd>lua require('dap').step_over()<CR>
nnoremap <silent> di <cmd>lua require('dap').step_into()<CR>
nnoremap <silent> dn <cmd>lua require('dap').step_out()<CR>
nnoremap <silent> <Leader>b <cmd>lua require('dap').toggle_breakpoint()<CR>
nnoremap <silent> <leader>a <cmd>lua vim.lsp.buf.code_action()<CR>
xmap <silent> <leader>a <cmd>lua vim.lsp.buf.range_code_action()<CR>
lua require('init')
'';
@ -84,6 +92,42 @@ in
colorscheme NeoSolarized
'';
}
{
plugin = nvim-dap;
type = "lua";
config = ''
local dap = require('dap')
dap.adapters.php = {
type = "executable",
command = "${pkgs.nodejs}/bin/node",
args = { "${pkgs.vscode-extensions.xdebug.php-debug}/share/vscode/extensions/xdebug.php-debug/out/phpDebug.js" }
}
dap.configurations.php = {
{
type = "php",
request = "launch",
name = "Listen for Xdebug",
port = 9003,
--stopOnEntry = true,
pathMappings = {
["/app/"] = vim.fn.getcwd().."/",
},
log = true,
hostname = "0.0.0.0",
}
}
vim.api.nvim_create_autocmd(
"FileType", {
pattern = "dap-float",
callback = function()
vim.api.nvim_buf_set_keymap(0, "n", "q", "<cmd>close!<CR>", { noremap = true, silent = true })
end
}
)
'';
}
deoplete-nvim
editorconfig-vim
jinja-vim