feat(DAP): Add DAP configuration
- Inspired from https://www.youtube.com/watch?v=lyNfnI-B640
This commit is contained in:
@@ -64,8 +64,10 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
||||
require('which-key').add {
|
||||
-- { "<leader>c", group = "[C]ode" },
|
||||
-- { "<leader>c_", hidden = true },
|
||||
{ "<leader>d", group = "[D]ocument / [D]iagnostic" },
|
||||
{ "<leader>d", group = "[D]ocument / [D]iagnostic/ [D]ebug" },
|
||||
{ "<leader>d_", hidden = true },
|
||||
{ "<leader>ds", group = "[D]ebug [S]tep" },
|
||||
{ "<leader>ds_", hidden = true },
|
||||
{ "<leader>g", group = "[G]it" },
|
||||
{ "<leader>g_", hidden = true },
|
||||
{ "<leader>h", group = "Git [H]unk" },
|
||||
|
@@ -36,7 +36,47 @@ require('lazy').setup({
|
||||
},
|
||||
|
||||
-- DAP: Debug Adapter Protocol
|
||||
'mfussenegger/nvim-dap',
|
||||
{
|
||||
'mfussenegger/nvim-dap',
|
||||
dependencies = {
|
||||
'rcarriga/nvim-dap-ui',
|
||||
'theHamsta/nvim-dap-virtual-text',
|
||||
},
|
||||
config = function()
|
||||
local dap = require('dap');
|
||||
local ui = require('dapui');
|
||||
ui.setup();
|
||||
require("nvim-dap-virtual-text").setup();
|
||||
|
||||
vim.keymap.set("n", "<Leader>b", dap.toggle_breakpoint, { desc = "Debug [B]reakpoint", silent = true });
|
||||
vim.keymap.set("n", "<Leader>dr", dap.run_to_cursor, { desc = "[D]ebug [R]un to cursor" });
|
||||
vim.keymap.set("n", "<Leader>de", function()
|
||||
ui.eval(nil, { enter = true })
|
||||
end, { desc = "[D]ebug [E]val under cursor", silent = true });
|
||||
|
||||
-- TODO: add some DAP configs to test
|
||||
|
||||
vim.keymap.set("n", "<Leader>dc", dap.continue , {desc="[D]ebug [C]ontinue", silent = true})
|
||||
vim.keymap.set("n", "<Leader>dsi", dap.step_into , {desc="[D]ebug [S]tep [I]nto", silent = true})
|
||||
vim.keymap.set("n", "<Leader>dso", dap.step_over , {desc="[D]ebug [S]tep [O]ver", silent = true})
|
||||
vim.keymap.set("n", "<Leader>dsu", dap.step_out , {desc="[D]ebug [S]tep o[U]t", silent = true})
|
||||
vim.keymap.set("n", "<Leader>dsb", dap.step_back , {desc="[D]ebug [S]tep [B]ack", silent = true})
|
||||
vim.keymap.set("n", "<Leader>dr", dap.restart , {desc="[D]ebug [R]estart", silent = true})
|
||||
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
ui.open()
|
||||
end
|
||||
dap.listeners.before.launch.dapui_config = function()
|
||||
ui.open()
|
||||
end
|
||||
dap.listeners.before.event_terminated.dapui_config = function()
|
||||
ui.close()
|
||||
end
|
||||
dap.listeners.before.event_exited.dapui_config = function()
|
||||
ui.close()
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
-- [[ Autocompletion ]]
|
||||
|
Reference in New Issue
Block a user