2024-04-29 23:58:07 +01:00
local dap = require " dap "
local ui = require " dapui "
2022-10-04 09:26:08 +01:00
dap.adapters . php = {
type = " executable " ,
command = " node " ,
2023-09-04 11:05:13 +01:00
args = { os.getenv " HOME " .. " /build/vscode-php-debug/out/phpDebug.js " } ,
2022-10-04 09:26:08 +01:00
}
dap.configurations . php = {
{
type = " php " ,
request = " launch " ,
name = " Listen for Xdebug " ,
port = 9003 ,
pathMappings = {
2024-04-29 23:58:07 +01:00
[ " /app " ] = " ${workspaceFolder} " ,
2023-09-04 11:05:13 +01:00
[ " /var/www/html " ] = " ${workspaceFolder} " ,
} ,
} ,
2022-10-04 09:26:08 +01:00
}
2024-04-29 23:58:07 +01:00
dap.listeners . after.event_initialized [ " ui_config " ] = function ( )
ui.open ( )
2022-10-04 09:26:08 +01:00
end
2024-04-29 23:58:07 +01:00
dap.listeners . before.event_terminated [ " ui_config " ] = function ( )
ui.close ( )
2022-10-04 09:26:08 +01:00
end
2024-04-29 23:58:07 +01:00
dap.listeners . before.event_exited [ " ui_config " ] = function ( )
ui.close ( )
2022-10-04 09:26:08 +01:00
end
2024-04-29 23:58:07 +01:00
ui.setup {
2022-10-04 09:26:08 +01:00
layouts = {
{
elements = {
{ id = " scopes " , size = 0.25 } ,
" breakpoints " ,
" stacks " ,
" watches " ,
} ,
size = 40 , -- 40 columns
position = " right " ,
} ,
{
elements = {
" repl " ,
" console " ,
} ,
size = 0.25 , -- 25% of total lines
position = " bottom " ,
} ,
2023-09-04 11:05:13 +01:00
} ,
2022-10-04 09:26:08 +01:00
}
2023-09-04 11:05:13 +01:00
require ( " nvim-dap-virtual-text " ) . setup {
2022-10-04 09:26:08 +01:00
commented = true ,
}
2024-04-29 23:58:07 +01:00
vim.keymap . set ( " n " , " <leader>b " , dap.toggle_breakpoint )
vim.keymap . set ( " n " , " <leader>gb " , dap.run_to_cursor )
2022-10-04 09:26:08 +01:00
2024-04-29 23:58:07 +01:00
vim.keymap . set ( " n " , " <F1> " , dap.continue )
vim.keymap . set ( " n " , " <F2> " , dap.step_into )
vim.keymap . set ( " n " , " <F3> " , dap.step_over )
vim.keymap . set ( " n " , " <F4> " , dap.step_out )
vim.keymap . set ( " n " , " <F5> " , dap.step_back )