debugging

This commit is contained in:
Mitchell Hingley
2026-09-03 14:50:34 -04:00
parent 64d4bb64b4
commit c1af122a92
3 changed files with 92 additions and 17 deletions
+8
View File
@@ -36,3 +36,11 @@ vim.keymap.set("n", "<Leader>a", "<cmd>:Alpha<CR>", {desc = "Open Alpha welcome
--CONFORM
vim.keymap.set("n", "<Leader>f", "<cmd>:lua require('conform').format()<CR>")
--DEBUGGING
vim.keymap.set("n", "<leader>cdb", dap.toggle_breakpoint, { desc = "Debug: Toggle Breakpoint" })
vim.keymap.set("n", "<leader>cdc", dap.continue, { desc = "Debug: Start/Continue" })
vim.keymap.set("n", "<leader>cdi", dap.step_into, { desc = "Debug: Step Into" })
vim.keymap.set("n", "<leader>cdo", dap.step_over, { desc = "Debug: Step Over" })
vim.keymap.set("n", "<leader>cdO", dap.step_out, { desc = "Debug: Step Out" })
vim.keymap.set("n", "<leader>cdt", dap.terminate, { desc = "Debug: Terminate" })
+62
View File
@@ -0,0 +1,62 @@
return {
"mfussenegger/nvim-dap",
dependencies = {
"rcarriga/nvim-dap-ui",
"theHamsta/nvim-dap-virtual-text",
"nvim-neotest/nvim-nio",
"williamboman/mason.nvim",
"jay-babu/mason-nvim-dap.nvim",
},
config = function()
local dap = require("dap")
local dapui = require("dapui")
-- Initialize UI and virtual text components
dapui.setup()
require("nvim-dap-virtual-text").setup()
-- Automatically manage debugger installations via Mason
require("mason-nvim-dap").setup({
ensure_installed = { "codelldb" }, -- Auto-installs CodeLLDB
automatic_installation = true,
})
-- Automatically open/close DAP UI panels
dap.listeners.after.event_initialized["dapui_config"] = function() dapui.open() end
dap.listeners.before.event_terminated["dapui_config"] = function() dapui.close() end
dap.listeners.before.event_exited["dapui_config"] = function() dapui.close() end
-- Step 2 & 3 configurations will go here...
-- Define the adapter connection
dap.adapters.codelldb = {
type = 'server',
port = "${port}",
executable = {
-- Adjust this path if Mason uses a different default location on your OS
command = vim.fn.stdpath("data") .. "/mason/bin/codelldb",
args = {"--port", "${port}"},
}
}
-- Configure C++ configurations
dap.configurations.cpp = {
{
name = "Launch file",
type = "codelldb",
request = "launch",
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = '${workspaceFolder}',
stopOnEntry = false,
args = {},
},
}
-- Re-use C++ configuration for C language
dap.configurations.c = dap.configurations.cpp
end
}