diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-08-06 21:53:02 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-08-06 21:53:02 +0300 |
| commit | 7c85c6be8d84b5f0786c1c672247057e327da7e1 (patch) | |
| tree | 626eb9912ce171403f27b2590e600e61f110bc1e /.config | |
| parent | 991d859d729ef415a8919e53007a880036e1fd2e (diff) | |
feat(nvim): added keymaps to nvim-dap
Diffstat (limited to '.config')
| -rw-r--r-- | .config/nvim/lua/custom/config/dap-keymaps.lua | 18 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/nvim-dap-ui.lua | 7 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/nvim-dap.lua | 2 |
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 |
