Prepare nvim.dap for python
parent
c2fc6559c4
commit
52584d61e9
|
@ -1,4 +1,4 @@
|
|||
set textwidth=72
|
||||
set spell
|
||||
set cc=+1
|
||||
setlocal textwidth=72
|
||||
setlocal spell
|
||||
setlocal cc=+1
|
||||
let b:undo_ftplugin .= '|setlocal textwidth< spell< cc<'
|
||||
|
|
|
@ -4,4 +4,8 @@
|
|||
|
||||
" Without this, weird issues occurred with asdf + direnv + python virtualenv
|
||||
setlocal shell=/bin/sh
|
||||
let b:undo_ftplugin .= "|setlocal shell<"
|
||||
|
||||
setlocal textwidth=79
|
||||
setlocal cc=+1
|
||||
|
||||
let b:undo_ftplugin .= "|setlocal shell< textwidth< cc<"
|
||||
|
|
|
@ -10,5 +10,57 @@ dap.adapters.python = {
|
|||
args = { '-m', 'debugpy.adapter' };
|
||||
}
|
||||
|
||||
dap.configurations.python = {
|
||||
{
|
||||
-- The first three options are required by nvim-dap
|
||||
type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python`
|
||||
request = 'launch';
|
||||
name = "Launch file";
|
||||
|
||||
|
||||
program = "${file}"; -- This configuration will launch the current file if used.
|
||||
},
|
||||
}
|
||||
|
||||
-- Nvim DAP Treesitter integration
|
||||
vim.g.dap_virtual_text = true
|
||||
|
||||
-- Keymaps
|
||||
local function set_keymap(...) vim.api.nvim_set_keymap(...) end
|
||||
|
||||
default_opts = {noremap = true, silent = true}
|
||||
set_keymap('n', '<Leader>db', "<cmd>lua require'dap'.toggle_breakpoint()<CR>", default_opts)
|
||||
set_keymap('n', '<Leader>dc', "<cmd>lua require'dap'.continue()<CR>", default_opts)
|
||||
set_keymap('n', '<Leader>dso', "<cmd>lua require'dap'.step_over()<CR>", default_opts)
|
||||
set_keymap('n', '<Leader>dsi', "<cmd>lua require'dap'.step_into()<CR>", default_opts)
|
||||
set_keymap('n', '<Leader>dro', "<cmd>lua require'dap'.open()<CR>", default_opts)
|
||||
|
||||
-- Debugger Hover map
|
||||
local api = vim.api
|
||||
local keymap_restore = {}
|
||||
dap.custom_event_handlers['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', '<Cmd>lua require("dap.ui.variables").hover()<CR>', { silent = true })
|
||||
end
|
||||
|
||||
dap.custom_event_handlers['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
|
||||
|
|
Loading…
Reference in New Issue