local misc = require("core.misc") local map = misc.map return { "mfussenegger/nvim-dap", requires = { "williamboman/mason.nvim", "nvim-telescope/telescope.nvim", }, disable = not vim.fn.has("nvim-0.8.0"), branch = "0.8.0", function() local dap = require("dap") local codelldb_port = 13000 dap.adapters.codelldb = { type = "server", host = "127.0.0.1", port = codelldb_port, executable = { command = require("mason-registry").get_package("codelldb"):get_install_path().."/codelldb", args = { "--port", codelldb_port } } } dap.configurations.c = { { name = "LLDB: Launch", type = "codelldb", request = "launch", program = function() return vim.fn.input("Path to executable: ", vim.fn.getcwd().."/", "file") end, cwd = "${workspaceFolder}", stopOnEntry = false, args = {}, console = "integratedTerminal" } } map("n", "ec", dap.continue, { desc = "dap continue " }) map("n", "el", dap.run_last, { desc = "dap run last" }) map("n", "et", dap.terminate, { desc = "dap terminate " }) map("n", "eb", require("dap.breakpoints").toggle, { desc = "dap toggle breakpoint" }) map("n", "e]", dap.step_over, { desc = "dap step over" }) map("n", "e[", dap.step_back, { desc = "dap step back" }) map("n", "er", dap.repl.toggle, { desc = "dap repl toggle" }) map("n", "eR", dap.restart, { desc = "dap restart" }) end }