d79e2d5ecb
inspired by https://github.com/BijanVeyssi/nvim-config
119 lines
2.2 KiB
Lua
119 lines
2.2 KiB
Lua
return {
|
|
{
|
|
'mfussenegger/nvim-dap',
|
|
keys = function()
|
|
local function dap(name)
|
|
return function()
|
|
require('dap')[name]()
|
|
end
|
|
end
|
|
|
|
return {
|
|
{ '<leader>dc', dap 'continue', desc = 'continue' },
|
|
{ '<leader>ds', dap 'step_into', desc = 'step into' },
|
|
{ '<leader>dn', dap 'step_over', desc = 'step over (next)' },
|
|
{ '<leader>df', dap 'step_out', desc = 'step out (finish)' },
|
|
{ '<leader>db', dap 'toggle_breakpoint', desc = 'toggle breakpoint' },
|
|
{
|
|
'<leader>do',
|
|
function()
|
|
vim.ui.input({ prompt = 'Condition: ' }, function(input)
|
|
if input == nil then
|
|
return
|
|
end
|
|
require('dap').set_breakpoint(input)
|
|
end)
|
|
end,
|
|
desc = 'set conditional breakpoint',
|
|
},
|
|
{ '<leader>dl', dap 'clear_breakpoints', desc = 'clear breakpoints' },
|
|
{ '<leader>dq', dap 'terminate', desc = 'quit' },
|
|
}
|
|
end,
|
|
},
|
|
{
|
|
'rcarriga/nvim-dap-ui',
|
|
opts = {
|
|
controls = {
|
|
element = 'repl',
|
|
enabled = true,
|
|
icons = {
|
|
disconnect = '',
|
|
pause = '',
|
|
play = '',
|
|
run_last = '',
|
|
step_back = '',
|
|
step_into = '',
|
|
step_out = '',
|
|
step_over = '',
|
|
terminate = '',
|
|
},
|
|
},
|
|
element_mappings = {},
|
|
expand_lines = true,
|
|
floating = {
|
|
border = 'single',
|
|
mappings = {
|
|
close = { 'q', '<Esc>' },
|
|
},
|
|
},
|
|
force_buffers = true,
|
|
icons = {
|
|
collapsed = '',
|
|
current_frame = '',
|
|
expanded = '',
|
|
},
|
|
layouts = {
|
|
{
|
|
elements = {
|
|
{
|
|
id = 'scopes',
|
|
size = 0.5,
|
|
},
|
|
-- {
|
|
-- id = "breakpoints",
|
|
-- size = 0.25
|
|
-- },
|
|
{
|
|
id = 'stacks',
|
|
size = 0.25,
|
|
},
|
|
{
|
|
id = 'watches',
|
|
size = 0.25,
|
|
},
|
|
},
|
|
position = 'right',
|
|
size = 40,
|
|
},
|
|
{
|
|
elements = {
|
|
{
|
|
id = 'repl',
|
|
size = 0.5,
|
|
},
|
|
{
|
|
id = 'console',
|
|
size = 0.5,
|
|
},
|
|
},
|
|
position = 'bottom',
|
|
size = 10,
|
|
},
|
|
},
|
|
mappings = {
|
|
edit = 'e',
|
|
expand = { '<CR>', '<2-LeftMouse>' },
|
|
open = 'o',
|
|
remove = 'd',
|
|
repl = 'r',
|
|
toggle = 't',
|
|
},
|
|
render = {
|
|
indent = 1,
|
|
max_value_lines = 100,
|
|
},
|
|
},
|
|
},
|
|
}
|