From 7c85c6be8d84b5f0786c1c672247057e327da7e1 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 6 Aug 2024 21:53:02 +0300 Subject: feat(nvim): added keymaps to nvim-dap --- .config/nvim/lua/custom/config/dap-keymaps.lua | 18 ++++++++++++++++++ .config/nvim/lua/custom/plugins/nvim-dap-ui.lua | 7 +++++++ .config/nvim/lua/custom/plugins/nvim-dap.lua | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 .config/nvim/lua/custom/config/dap-keymaps.lua (limited to '.config') 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', 'dr', 'DapContinue', { desc = '[D]ebug [R]esume (or start)' } }, + { 'n', 'dR', 'DapRestartFrame', { desc = '[D]ebug [R]estart' } }, + { 'n', 'dt', 'DapRestartFrame', { desc = '[D]ebug [R]estart' } }, + { 'n', 'dp', 'DapToggleBreakpoint', { desc = '[D]ebug Break[p]oint' } }, + { 'n', 'H', 'lua require("dap.ui.widgets").hover()', { desc = '[H]over (debug)' } }, + { 'n', 'si', '<DapStepInto', { desc = '[S]tep [I]nto' } }, + { 'n', 'so', '<DapStepOver', { desc = '[S]tep [O]ver' } }, + { 'n', 'sO', '<DapStepOut', { 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 -- cgit v1.3.1