Skip to main content

DAP / Debugger

Adds debugging capabilities to doom-nvim. ⚠️ This module hasn't been tested extensively and you'll have to provide most of the config yourself.

Settings

Settings for the dap module.

You can access and override these values in your config.lua. I.e.

local dap_settings = doom.features.dap.settings
dap_settings.<field> = <new_value>
dap.settings = {
debugger_dir = vim.fn.stdpath("data") .. "/dapinstall/",
debugger_map = {},
dapui = {
icons = {
expanded = "▾",
collapsed = "▸",
},
mappings = {
expand = { "<CR>", "<2-LeftMouse>" },
open = "o",
remove = "d",
edit = "e",
repl = "r",
},
sidebar = {
elements = {
"scopes",
"breakpoints",
"stacks",
"watches",
},
size = 40,
position = "left",
},
tray = {
elements = {
"repl",
},
size = 10,
position = "bottom",
},
},
}

Plugins/Packages

Plugins for the doom.features.dap module.

These plugins will be passed into packer.nvim on startup. You can tweak the packer options by accessing these values in your config.lua file. i.e.:

local dap_packages = doom.features.dap.packages
dap_packages['nvim-dap-ui'].commit = '<my_new_commit_sha>'
KeySourceCommitIs Lazy?
nvim-dap-ui rcarriga/nvim-dap-ui221c91686dcf4d6b62d7a7b2d112e0b13
nvim-dap mfussenegger/nvim-dapbd4e5f81e8376f9d9681b5c4ee4483c25

Keybinds

Override these keybinds in your config.lua:

local dap = doom.features.dap
dap.binds = {
{ "<leader>prefix", "<cmd>echo 'my new keybind'<CR>", name = "Description for my new keybind" }
}
KeymapDescription
<leader>dc Continue/Start
<leader>dd Disconnect
<leader>de Evaluate
<leader>de Evaluate
<leader>dbb Toggle breakpoint
<leader>dbc Toggle
<leader>dbh Hit number
<leader>dbl Log
<leader>od Debugger