Files
dotfiles/nvim/lua/plugins/dap.lua
T
atdunbg 87be571667 新增 niri/dms/gtk/qt/cava/fcitx5 等配置并添加 .gitignore
- 纳入版本管理: niri/(含 dms/), DankMaterialShell/, environment.d/,
  cava/, gtk-3.0/, gtk-4.0/, qt5ct/, qt6ct/, fcitx5/
- 新增 .gitignore: 排除 *.bak/*.backup*、fcitx5/conf/cached_layouts、
  DankMaterialShell 运行时标志
- 同步已有的 kitty/nvim/.zshrc 修改
2026-06-29 17:32:34 +08:00

92 lines
3.5 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================================
-- DAP 调试器
-- ============================================================================
return {
{
"mfussenegger/nvim-dap",
dependencies = {
"rcarriga/nvim-dap-ui",
"nvim-neotest/nvim-nio",
"williamboman/mason.nvim",
},
config = function()
local dap = require("dap")
local dapui = require("dapui")
-- 断点图标
vim.fn.sign_define("DapBreakpoint",
{ text = "●", texthl = "DapBreakpoint", linehl = "", numhl = "" })
vim.fn.sign_define("DapBreakpointCondition",
{ text = "◆", texthl = "DapBreakpointCondition", linehl = "", numhl = "" })
vim.fn.sign_define("DapStopped",
{ text = "▶", texthl = "DapStopped", linehl = "CursorLine", numhl = "" })
-- dap-ui 布局
dapui.setup({
layouts = {
{
elements = {
{ id = "stacks", size = 0.25 },
{ id = "scopes", size = 0.25 },
{ id = "breakpoints", size = 0.25 },
{ id = "watches", size = 0.25 },
},
position = "left",
size = 40,
},
{
elements = {
{ id = "repl", size = 0.5 },
{ id = "console", size = 0.5 },
},
position = "bottom",
size = 10,
},
},
})
-- 调试会话自动打开/关闭 UI
dap.listeners.before.attach.dapui_config = function() dapui.open() end
dap.listeners.before.launch.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
-- codelldb 适配器(Mason 安装路径)
dap.adapters.codelldb = {
type = "server",
port = "${port}",
executable = {
command = vim.fn.stdpath("data") .. "/mason/bin/codelldb",
args = { "--port", "${port}" },
},
}
-- C/C++ 调试配置(非 CMake 项目,CMake 项目用 <leader>rd
dap.configurations.c = {
{
name = "Launch",
type = "codelldb",
request = "launch",
program = function()
return vim.fn.input("可执行文件路径: ", vim.fn.getcwd() .. "/", "file")
end,
cwd = "${workspaceFolder}",
stopOnEntry = false,
args = {},
},
}
dap.configurations.cpp = dap.configurations.c
end,
},
-- Mason DAP 自动安装
{
"jay-babu/mason-nvim-dap.nvim",
dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
opts = {
ensure_installed = { "codelldb" },
},
},
}