diff --git a/lua/plugins/dap.lua b/lua/plugins/dap.lua index d0594f2..b7eebf7 100644 --- a/lua/plugins/dap.lua +++ b/lua/plugins/dap.lua @@ -91,6 +91,29 @@ return { end, }) + -- Hover with K + local api = vim.api + local keymap_restore = {} + dap.listeners.after['event_initialized']['me'] = function() + for _, buf in pairs(api.nvim_list_bufs()) do + local keymaps = api.nvim_buf_get_keymap(buf, 'n') + for _, keymap in pairs(keymaps) do + if keymap.lhs == 'K' then + table.insert(keymap_restore, keymap) + api.nvim_buf_del_keymap(buf, 'n', 'K') + end + end + end + api.nvim_set_keymap('n', 'K', 'lua require("dap.ui.widgets").hover()', { silent = true }) + end + + dap.listeners.after['event_terminated']['me'] = function() + for _, keymap in pairs(keymap_restore) do + api.nvim_buf_set_keymap(keymap.buffer, keymap.mode, keymap.lhs, keymap.rhs, { silent = keymap.silent == 1 }) + end + keymap_restore = {} + end + require('dap.ext.vscode').json_decode = require('utils.json_workaround').decode_json local pythonVenv = require('utils.python_venv')