|
|
|
@ -24,28 +24,59 @@ return {
|
|
|
|
|
-- Add your own debuggers here
|
|
|
|
|
'leoluz/nvim-dap-go',
|
|
|
|
|
},
|
|
|
|
|
keys = function(_, keys)
|
|
|
|
|
local dap = require 'dap'
|
|
|
|
|
local dapui = require 'dapui'
|
|
|
|
|
return {
|
|
|
|
|
-- Basic debugging keymaps, feel free to change to your liking!
|
|
|
|
|
{ '<F5>', dap.continue, desc = 'Debug: Start/Continue' },
|
|
|
|
|
{ '<F1>', dap.step_into, desc = 'Debug: Step Into' },
|
|
|
|
|
{ '<F2>', dap.step_over, desc = 'Debug: Step Over' },
|
|
|
|
|
{ '<F3>', dap.step_out, desc = 'Debug: Step Out' },
|
|
|
|
|
{ '<leader>b', dap.toggle_breakpoint, desc = 'Debug: Toggle Breakpoint' },
|
|
|
|
|
{
|
|
|
|
|
'<leader>B',
|
|
|
|
|
function()
|
|
|
|
|
dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ')
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Set Breakpoint',
|
|
|
|
|
},
|
|
|
|
|
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
|
|
|
|
|
{ '<F7>', dapui.toggle, desc = 'Debug: See last session result.' },
|
|
|
|
|
unpack(keys),
|
|
|
|
|
}
|
|
|
|
|
end,
|
|
|
|
|
keys = {
|
|
|
|
|
-- Basic debugging keymaps, feel free to change to your liking!
|
|
|
|
|
{
|
|
|
|
|
'<F5>',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').continue()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Start/Continue',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'<F1>',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').step_into()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Step Into',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'<F2>',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').step_over()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Step Over',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'<F3>',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').step_out()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Step Out',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'<leader>b',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').toggle_breakpoint()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Toggle Breakpoint',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'<leader>B',
|
|
|
|
|
function()
|
|
|
|
|
require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ')
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: Set Breakpoint',
|
|
|
|
|
},
|
|
|
|
|
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
|
|
|
|
|
{
|
|
|
|
|
'<F7>',
|
|
|
|
|
function()
|
|
|
|
|
require('dapui').toggle()
|
|
|
|
|
end,
|
|
|
|
|
desc = 'Debug: See last session result.',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
config = function()
|
|
|
|
|
local dap = require 'dap'
|
|
|
|
|
local dapui = require 'dapui'
|
|
|
|
@ -89,6 +120,18 @@ return {
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- Change breakpoint icons
|
|
|
|
|
-- vim.api.nvim_set_hl(0, 'DapBreak', { fg = '#e51400' })
|
|
|
|
|
-- vim.api.nvim_set_hl(0, 'DapStop', { fg = '#ffcc00' })
|
|
|
|
|
-- local breakpoint_icons = vim.g.have_nerd_font
|
|
|
|
|
-- and { Breakpoint = '', BreakpointCondition = '', BreakpointRejected = '', LogPoint = '', Stopped = '' }
|
|
|
|
|
-- or { Breakpoint = '●', BreakpointCondition = '⊜', BreakpointRejected = '⊘', LogPoint = '◆', Stopped = '⭔' }
|
|
|
|
|
-- for type, icon in pairs(breakpoint_icons) do
|
|
|
|
|
-- local tp = 'Dap' .. type
|
|
|
|
|
-- local hl = (type == 'Stopped') and 'DapStop' or 'DapBreak'
|
|
|
|
|
-- vim.fn.sign_define(tp, { text = icon, texthl = hl, numhl = hl })
|
|
|
|
|
-- end
|
|
|
|
|
|
|
|
|
|
dap.listeners.after.event_initialized['dapui_config'] = dapui.open
|
|
|
|
|
dap.listeners.before.event_terminated['dapui_config'] = dapui.close
|
|
|
|
|
dap.listeners.before.event_exited['dapui_config'] = dapui.close
|
|
|
|
|