117 lines
3.5 KiB
Lua
117 lines
3.5 KiB
Lua
local K = require('core.keymap')
|
|
|
|
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(
|
|
K.DEBUGGING.TOGGLE_UI.mode,
|
|
K.DEBUGGING.TOGGLE_UI.shortcut,
|
|
dapui.toggle,
|
|
{ desc = K.DEBUGGING.TOGGLE_UI.dedescriptionn }
|
|
)
|
|
vim.keymap.set(
|
|
K.DEBUGGING.TOGGLE_BREAKPOINT.mode,
|
|
K.DEBUGGING.TOGGLE_BREAKPOINT.shortcut,
|
|
dap.toggle_breakpoint,
|
|
{ desc = K.DEBUGGING.TOGGLE_BREAKPOINT.dedescriptionn }
|
|
)
|
|
vim.keymap.set(
|
|
K.DEBUGGING.CONTINUE.mode,
|
|
K.DEBUGGING.CONTINUE.shortcut,
|
|
dap.continue,
|
|
{ desc = K.DEBUGGING.CONTINUE.dedescriptionn }
|
|
)
|
|
vim.keymap.set(
|
|
K.DEBUGGING.TERMINATE.mode,
|
|
K.DEBUGGING.TERMINATE.shortcut,
|
|
dap.terminate,
|
|
{ desc = K.DEBUGGING.TERMINATE.dedescriptionn }
|
|
)
|
|
vim.keymap.set(
|
|
K.DEBUGGING.STEP_OVER.mode,
|
|
K.DEBUGGING.STEP_OVER.shortcut,
|
|
dap.step_over,
|
|
{ desc = K.DEBUGGING.STEP_OVER.dedescriptionn }
|
|
)
|
|
|
|
-- 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,
|
|
}
|