debugging
This commit is contained in:
@@ -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" })
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user