mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2025-06-24 06:08:34 +02:00
144 lines
4 KiB
Lua
144 lines
4 KiB
Lua
|
-- Debugging Support
|
||
|
return {
|
||
|
-- https://github.com/rcarriga/nvim-dap-ui
|
||
|
'rcarriga/nvim-dap-ui',
|
||
|
event = 'VeryLazy',
|
||
|
dependencies = {
|
||
|
-- https://github.com/mfussenegger/nvim-dap
|
||
|
'mfussenegger/nvim-dap',
|
||
|
-- https://github.com/nvim-neotest/nvim-nio
|
||
|
'nvim-neotest/nvim-nio',
|
||
|
-- https://github.com/theHamsta/nvim-dap-virtual-text
|
||
|
'theHamsta/nvim-dap-virtual-text', -- inline variable text while debugging
|
||
|
-- https://github.com/nvim-telescope/telescope-dap.nvim
|
||
|
'nvim-telescope/telescope-dap.nvim', -- telescope integration with dap
|
||
|
},
|
||
|
opts = {
|
||
|
controls = {
|
||
|
element = 'repl',
|
||
|
enabled = false,
|
||
|
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.50,
|
||
|
},
|
||
|
{
|
||
|
id = 'stacks',
|
||
|
size = 0.30,
|
||
|
},
|
||
|
{
|
||
|
id = 'watches',
|
||
|
size = 0.10,
|
||
|
},
|
||
|
{
|
||
|
id = 'breakpoints',
|
||
|
size = 0.10,
|
||
|
},
|
||
|
},
|
||
|
size = 40,
|
||
|
position = 'left', -- Can be "left" or "right"
|
||
|
},
|
||
|
{
|
||
|
elements = {
|
||
|
'repl',
|
||
|
'console',
|
||
|
},
|
||
|
size = 10,
|
||
|
position = 'bottom', -- Can be "bottom" or "top"
|
||
|
},
|
||
|
},
|
||
|
mappings = {
|
||
|
edit = 'e',
|
||
|
expand = { '<CR>', '<2-LeftMouse>' },
|
||
|
open = 'o',
|
||
|
remove = 'd',
|
||
|
repl = 'r',
|
||
|
toggle = 't',
|
||
|
},
|
||
|
render = {
|
||
|
indent = 1,
|
||
|
max_value_lines = 100,
|
||
|
},
|
||
|
},
|
||
|
config = function(_, opts)
|
||
|
local dap = require 'dap'
|
||
|
require('dapui').setup(opts)
|
||
|
|
||
|
-- Customize breakpoint signs
|
||
|
vim.api.nvim_set_hl(0, 'DapStoppedHl', { fg = '#98BB6C', bg = '#2A2A2A', bold = true })
|
||
|
vim.api.nvim_set_hl(0, 'DapStoppedLineHl', { bg = '#204028', bold = true })
|
||
|
vim.fn.sign_define('DapStopped', { text = '', texthl = 'DapStoppedHl', linehl = 'DapStoppedLineHl', numhl = '' })
|
||
|
vim.fn.sign_define('DapBreakpoint', { text = '', texthl = 'DiagnosticSignError', linehl = '', numhl = '' })
|
||
|
vim.fn.sign_define('DapBreakpointCondition', { text = '', texthl = 'DiagnosticSignWarn', linehl = '', numhl = '' })
|
||
|
vim.fn.sign_define('DapBreakpointRejected', { text = '', texthl = 'DiagnosticSignError', linehl = '', numhl = '' })
|
||
|
vim.fn.sign_define('DapLogPoint', { text = '', texthl = 'DiagnosticSignInfo', linehl = '', numhl = '' })
|
||
|
|
||
|
dap.listeners.after.event_initialized['dapui_config'] = function()
|
||
|
require('dapui').open()
|
||
|
end
|
||
|
|
||
|
dap.listeners.before.event_terminated['dapui_config'] = function()
|
||
|
-- Commented to prevent DAP UI from closing when unit tests finish
|
||
|
-- require('dapui').close()
|
||
|
end
|
||
|
|
||
|
dap.listeners.before.event_exited['dapui_config'] = function()
|
||
|
-- Commented to prevent DAP UI from closing when unit tests finish
|
||
|
-- require('dapui').close()
|
||
|
end
|
||
|
|
||
|
-- Add dap configurations based on your language/adapter settings
|
||
|
-- https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation
|
||
|
dap.configurations.java = {
|
||
|
{
|
||
|
name = 'Debug Launch (2GB)',
|
||
|
type = 'java',
|
||
|
request = 'launch',
|
||
|
vmArgs = '' .. '-Xmx2g ',
|
||
|
},
|
||
|
{
|
||
|
name = 'Debug Attach (8000)',
|
||
|
type = 'java',
|
||
|
request = 'attach',
|
||
|
hostName = '127.0.0.1',
|
||
|
port = 8000,
|
||
|
},
|
||
|
{
|
||
|
name = 'Debug Attach (5005)',
|
||
|
type = 'java',
|
||
|
request = 'attach',
|
||
|
hostName = '127.0.0.1',
|
||
|
port = 5005,
|
||
|
},
|
||
|
}
|
||
|
end,
|
||
|
}
|