Skip to content

DAP Extra

debug.dap installs nvim-dap and nvim-dap-ui. It provides the client and UI, but does not guess language adapters or launch configurations.

Enable it

return {
extras = {
enabled = {
"debug.dap",
},
},
}

Because this extra adds plugins, run:

:BlakExtras sync

What it adds

SurfaceContribution
Pluginmfussenegger/nvim-dap
Pluginrcarriga/nvim-dap-ui
Dependenciesnvim-nio
Keymap<leader>db toggles a breakpoint
Keymap<leader>dc continues debugging
Keymap<leader>di steps into
Keymap<leader>do steps over
Keymap<leader>dO steps out
Keymap<leader>dr toggles the DAP REPL
Keymap<leader>dt terminates the session
Keymap<leader>du toggles dap-ui

The keymaps appear in :BlakKeys.

Configure adapters

DAP needs an adapter and launch configuration for each language or runtime. Keep that setup explicit in user.lua:

return {
extras = {
enabled = { "debug.dap" },
},
hooks = {
after = {
function()
local dap = require("dap")
dap.configurations.lua = {
{
type = "nlua",
request = "attach",
name = "Attach to running Neovim instance",
},
}
end,
},
},
}

Install any external debug adapter with your system package manager, Mason, or a language-specific Blak extra when one provides it.