-- DAP (Debug Adapter Protocol) keymaps local ok_dap, dap = pcall(require, "dap") local ok_dapui, dapui = pcall(require, "dapui") local fn = vim.fn local keymap = vim.keymap.set if ok_dap and ok_dapui then keymap("n", "dc", dap.continue, { desc = "▶ Start Debugging" }) keymap("n", "do", dap.step_over, { desc = "⏭ Step Over" }) keymap("n", "di", dap.step_into, { desc = "⤵ Step Into" }) keymap("n", "dot", dap.step_out, { desc = "⤴ Step Out" }) keymap("n", "db", dap.toggle_breakpoint, { desc = "🔴 Toggle Breakpoint" }) keymap("n", "dB", function() dap.set_breakpoint(fn.input("Breakpoint condition: ")) end, { desc = "⚠ Conditional Breakpoint" }) keymap("n", "dr", dap.repl.open, { desc = "💬 Open REPL" }) keymap("n", "dl", dap.run_last, { desc = "🔁 Run Last Debug" }) keymap("n", "du", dapui.toggle, { desc = "🧩 Toggle DAP UI" }) keymap("n", "dq", dap.terminate, { desc = "⛔ Stop Debugging" }) -- 🧼 Reset UI keymap("n", "drt", function() dap.terminate() dapui.close() vim.defer_fn(function() dapui.open() end, 200) end, { desc = "🧼 Reset DAP UI Layout" }) -- 🔭 Snacks Integration (replacing Telescope) keymap("n", "dcf", "lua require('snacks.picker').dap_configurations()", { desc = "🔭 DAP Configs" }) keymap("n", "dcb", "lua require('snacks.picker').dap_list_breakpoints()", { desc = "🧷 List Breakpoints" }) keymap("n", "dco", "lua require('snacks.picker').dap_commands()", { desc = "⚙️ DAP Commands" }) end