-- 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", "" } } }, 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 = { "", "<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.xxxxxxxxxx = { -- { -- }, -- } end }