summaryrefslogtreecommitdiff
path: root/.config/nvim/lua
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-08-06 21:53:02 +0300
committerKyren223 <ulmliad223@gmail.com>2024-08-06 21:53:02 +0300
commit7c85c6be8d84b5f0786c1c672247057e327da7e1 (patch)
tree626eb9912ce171403f27b2590e600e61f110bc1e /.config/nvim/lua
parent991d859d729ef415a8919e53007a880036e1fd2e (diff)
feat(nvim): added keymaps to nvim-dap
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/custom/config/dap-keymaps.lua18
-rw-r--r--.config/nvim/lua/custom/plugins/nvim-dap-ui.lua7
-rw-r--r--.config/nvim/lua/custom/plugins/nvim-dap.lua2
3 files changed, 27 insertions, 0 deletions
diff --git a/.config/nvim/lua/custom/config/dap-keymaps.lua b/.config/nvim/lua/custom/config/dap-keymaps.lua
new file mode 100644
index 0000000..0fa0091
--- /dev/null
+++ b/.config/nvim/lua/custom/config/dap-keymaps.lua
@@ -0,0 +1,18 @@
+local keymaps = {
+ { 'n', '<leader>dr', '<cmd>DapContinue<cr>', { desc = '[D]ebug [R]esume (or start)' } },
+ { 'n', '<leader>dR', '<cmd>DapRestartFrame<cr>', { desc = '[D]ebug [R]estart' } },
+ { 'n', '<leader>dt', '<cmd>DapRestartFrame<cr>', { desc = '[D]ebug [R]estart' } },
+ { 'n', '<leader>dp', '<cmd>DapToggleBreakpoint<cr>', { desc = '[D]ebug Break[p]oint' } },
+ { 'n', 'H', '<cmd>lua require("dap.ui.widgets").hover()<cr>', { desc = '[H]over (debug)' } },
+ { 'n', '<leader>si', '<<cmd>DapStepInto<cr>', { desc = '[S]tep [I]nto' } },
+ { 'n', '<leader>so', '<<cmd>DapStepOver<cr>', { desc = '[S]tep [O]ver' } },
+ { 'n', '<leader>sO', '<<cmd>DapStepOut<cr>', { desc = '[S]tep [O]ut' } },
+}
+
+for _, keymap in ipairs(keymaps) do
+ local mode = keymap[1]
+ local lhs = keymap[2]
+ local rhs = keymap[3]
+ local opts = keymap[4] or {}
+ vim.keymap.set(mode, lhs, rhs, opts)
+end
diff --git a/.config/nvim/lua/custom/plugins/nvim-dap-ui.lua b/.config/nvim/lua/custom/plugins/nvim-dap-ui.lua
index b92efcf..cddad45 100644
--- a/.config/nvim/lua/custom/plugins/nvim-dap-ui.lua
+++ b/.config/nvim/lua/custom/plugins/nvim-dap-ui.lua
@@ -6,14 +6,21 @@ return {
local dap = require('dap')
local dapui = require('dapui')
dapui.setup()
+ dap.listeners.before.attach.dapui_config = function()
+ dapui.open()
+ vim.cmd.Hardtime('disable')
+ end
dap.listeners.after.event_initialized['dapui_config'] = function()
dapui.open()
+ vim.cmd.Hardtime('disable')
end
dap.listeners.before.event_terminated['dapui_config'] = function()
dapui.close()
+ vim.cmd.Hardtime('enable')
end
dap.listeners.before.event_exited['dapui_config'] = function()
dapui.close()
+ vim.cmd.Hardtime('enable')
end
end,
}
diff --git a/.config/nvim/lua/custom/plugins/nvim-dap.lua b/.config/nvim/lua/custom/plugins/nvim-dap.lua
index 06b9589..df7b5cb 100644
--- a/.config/nvim/lua/custom/plugins/nvim-dap.lua
+++ b/.config/nvim/lua/custom/plugins/nvim-dap.lua
@@ -6,6 +6,8 @@ return {
-- Having an empty config function makes lazy not call setup which fixes the issue
config = function() end,
opts = function()
+ -- Load dap keymaps
+ require('custom.config.dap-keymaps')
local dap = require('dap')
-- Setup C/C++ dap