diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2026-09-27 12:46:49 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2026-09-27 12:46:49 -0300 |
| commit | df7c711e2a49d51249350f52c63274b72aacb739 (patch) | |
| tree | 426da3b65371f857f3ee3d9893d7ff3279aac02e /lua/pi/dap/configs/cpp.lua | |
| parent | a0bd84df02ce235123dfc939327e8bd33dffdd7e (diff) | |
| download | nvim-conf-df7c711e2a49d51249350f52c63274b72aacb739.tar.gz nvim-conf-df7c711e2a49d51249350f52c63274b72aacb739.zip | |
Migración de plugins a funcionalidad nativa: statusline y treesitter propios, se quitan mason, lualine, mini, notify y otros
Diffstat (limited to 'lua/pi/dap/configs/cpp.lua')
| -rw-r--r-- | lua/pi/dap/configs/cpp.lua | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/lua/pi/dap/configs/cpp.lua b/lua/pi/dap/configs/cpp.lua index a2718b0..4f47345 100644 --- a/lua/pi/dap/configs/cpp.lua +++ b/lua/pi/dap/configs/cpp.lua @@ -1,24 +1,47 @@ local dap = require("dap") +-- gdb DAP nativo (gdb >= 14). No usa runInTerminal, así que evita el bug +-- de nvim-dap `terminals.acquire` en Neovim 0.13-dev. La salida del programa +-- aparece en la consola/repl de dap-ui. +dap.adapters.gdb = { + type = "executable", + command = "gdb", + args = { "--interpreter=dap", "--eval-command", "set print pretty on" }, +} + +-- Adaptador cpptools/OpenDebugAD7 (Microsoft) como fallback. dap.adapters.cppdbg = { id = 'cppdbg', type = 'executable', command = '/home/elvis/.local/share/nvim/mason/packages/cpptools/extension/debugAdapters/bin/OpenDebugAD7', } +local function pick_program() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') +end + +local function pick_args() + return vim.split(vim.fn.input('Program arguments: ', ''), " ") +end + dap.configurations.cpp = { { - name = "Launch file", + name = "Launch (gdb)", + type = "gdb", + request = "launch", + program = pick_program, + cwd = "${workspaceFolder}", + args = pick_args, + stopAtBeginningOfMainSubprogram = true, -- equivalente a stopAtEntry en gdb DAP + }, + { + name = "Launch (cppdbg / cpptools)", type = "cppdbg", request = "launch", - program = function() - return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - end, + program = pick_program, cwd = '${workspaceFolder}', stopAtEntry = true, - args = function() - return vim.split(vim.fn.input('Program arguments: ', ''), " ") - end, + args = pick_args, }, { name = 'Attach to gdbserver :1234', @@ -28,14 +51,9 @@ dap.configurations.cpp = { miDebuggerServerAddress = 'localhost:1234', miDebuggerPath = '/usr/bin/gdb', cwd = '${workspaceFolder}', - program = function() - return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') - end, - args = function() - return vim.split(vim.fn.input('Program arguments: ', ''), " ") - end, + program = pick_program, + args = pick_args, }, } dap.configurations.c = dap.configurations.cpp - |