Dotfiles_nvim/lua/editor/debugging.lua
2024-07-02 23:52:43 +02:00

115 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,
}