116 lines
3.2 KiB
Lua
116 lines
3.2 KiB
Lua
|
return {
|
||
|
'mfussenegger/nvim-dap',
|
||
|
dependencies = {
|
||
|
'rcarriga/nvim-dap-ui',
|
||
|
'nvim-neotest/nvim-nio',
|
||
|
},
|
||
|
config = function()
|
||
|
-- Setup Debugging --
|
||
|
local dap = require('dap')
|
||
|
|
||
|
-- Open UI on Debugging --
|
||
|
local dapui = require('dapui')
|
||
|
dapui.setup({
|
||
|
layouts = {
|
||
|
{
|
||
|
elements = {
|
||
|
{ id = 'scopes', size = 0.65 },
|
||
|
{ id = 'breakpoints', size = 0.35 },
|
||
|
},
|
||
|
position = 'left',
|
||
|
size = 40,
|
||
|
},
|
||
|
{
|
||
|
elements = {
|
||
|
{ id = 'repl', size = 0.5 },
|
||
|
{ id = 'console', size = 0.5 },
|
||
|
},
|
||
|
position = 'bottom',
|
||
|
size = 10,
|
||
|
},
|
||
|
},
|
||
|
})
|
||
|
dap.listeners.before.attach.dapui_config = function() dapui.open() end
|
||
|
dap.listeners.before.launch.dapui_config = function() dapui.open() end
|
||
|
|
||
|
-- Keybinding --
|
||
|
vim.keymap.set(
|
||
|
'n',
|
||
|
'<Leader>dt',
|
||
|
dapui.toggle,
|
||
|
{ desc = 'Toggle Debugger UI' }
|
||
|
)
|
||
|
vim.keymap.set(
|
||
|
'n',
|
||
|
'<Leader>db',
|
||
|
dap.toggle_breakpoint,
|
||
|
{ desc = 'Toggle Breakpoint' }
|
||
|
)
|
||
|
vim.keymap.set(
|
||
|
'n',
|
||
|
'<Leader>dc',
|
||
|
dap.continue,
|
||
|
{ desc = 'Debugger Continue' }
|
||
|
)
|
||
|
vim.keymap.set(
|
||
|
'n',
|
||
|
'<Leader>dx',
|
||
|
dap.terminate,
|
||
|
{ desc = 'Debugger Terminate' }
|
||
|
)
|
||
|
vim.keymap.set(
|
||
|
'n',
|
||
|
'<Leader>ds',
|
||
|
dap.step_over,
|
||
|
{ desc = 'Debugger Step Over' }
|
||
|
)
|
||
|
|
||
|
-- Breakpoints --
|
||
|
vim.api.nvim_set_hl(
|
||
|
0,
|
||
|
'DapBreakpoint',
|
||
|
{ ctermbg = 0, fg = '#993939', bg = '#31353f' }
|
||
|
)
|
||
|
vim.api.nvim_set_hl(
|
||
|
0,
|
||
|
'DapLogPoint',
|
||
|
{ ctermbg = 0, fg = '#61afef', bg = '#31353f' }
|
||
|
)
|
||
|
vim.api.nvim_set_hl(
|
||
|
0,
|
||
|
'DapStopped',
|
||
|
{ ctermbg = 0, fg = '#98c379', bg = '#31353f' }
|
||
|
)
|
||
|
vim.fn.sign_define('DapBreakpoint', {
|
||
|
text = '',
|
||
|
texthl = 'DapBreakpoint',
|
||
|
linehl = 'DapBreakpoint',
|
||
|
numhl = 'DapBreakpoint',
|
||
|
})
|
||
|
vim.fn.sign_define('DapBreakpointCondition', {
|
||
|
text = '',
|
||
|
texthl = 'DapBreakpoint',
|
||
|
linehl = 'DapBreakpoint',
|
||
|
numhl = 'DapBreakpoint',
|
||
|
})
|
||
|
vim.fn.sign_define('DapBreakpointRejected', {
|
||
|
text = '',
|
||
|
texthl = 'DapBreakpoint',
|
||
|
linehl = 'DapBreakpoint',
|
||
|
numhl = 'DapBreakpoint',
|
||
|
})
|
||
|
vim.fn.sign_define('DapLogPoint', {
|
||
|
text = '',
|
||
|
texthl = 'DapLogPoint',
|
||
|
linehl = 'DapLogPoint',
|
||
|
numhl = 'DapLogPoint',
|
||
|
})
|
||
|
vim.fn.sign_define('DapStopped', {
|
||
|
text = '',
|
||
|
texthl = 'DapStopped',
|
||
|
linehl = 'DapStopped',
|
||
|
numhl = 'DapStopped',
|
||
|
})
|
||
|
end,
|
||
|
}
|