local dap = require("dap") local dapui = require("dapui") dap.adapters.lldb = { type = "executable", command = "lldb-dap", name = "lldb", } dap.configurations.cpp = { { name = "Launch", type = "lldb", request = "launch", program = function() return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file") end, cwd = "${workspaceFolder}", stopOnEntry = false, args = {}, }, } dapui.setup() vim.fn.sign_define("DapBreakpoint", { text = "🔴", texthl = "", linehl = "", numhl = "" }) -- debugging keymaps vim.keymap.set("n", "", dap.continue, { noremap = true, silent = true }) vim.keymap.set("n", "", dap.toggle_breakpoint, { noremap = true, silent = true }) vim.keymap.set("n", "", dap.step_over, { noremap = true, silent = true }) vim.keymap.set("n", "", dap.step_into, { noremap = true, silent = true }) vim.keymap.set("n", "", dap.step_out, { noremap = true, silent = true }) vim.keymap.set("n", "", dap.step_out, { noremap = true, silent = true }) -- in kitty vim.keymap.set("n", "", dapui.eval, { noremap = true, silent = true }) -- trigger auto-completion in repl vim.cmd([[ augroup TriggerDapReplAutoCompletion autocmd! autocmd FileType dap-repl lua require("dap.ext.autocompl").attach() augroup END ]]) dap.listeners.after.event_initialized["dapui_config"] = function() dapui.open() end dap.listeners.before.event_terminated["dapui_config"] = function() dapui.close() end dap.listeners.before.event_exited["dapui_config"] = function() dapui.close() end