dotfiles/home/nvim/files/lua/plugins/dap.lua

99 lines
3.3 KiB
Lua
Raw Normal View History

2024-11-09 02:13:41 +01:00
return {
2025-02-18 19:51:10 +01:00
{
"mfussenegger/nvim-dap",
dependencies = {
"leoluz/nvim-dap-go",
'mfussenegger/nvim-dap-python',
"rcarriga/nvim-dap-ui",
"nvim-neotest/nvim-nio",
},
config = function()
local dap = require "dap"
require('dap.ext.vscode').load_launchjs("launch.json")
dap.defaults.fallback.exception_breakpoints = {'raised'}
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
local ui = require "dapui"
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
require("dapui").setup({
layouts = {
{
elements = {
{
id = "breakpoints",
size = 0.5
},
{
id = "stacks",
size = 0.5
},
-- {
-- id = "watches",
-- size = 0.25
-- },
},
position = "left",
size = 25
},
{
elements = {
{
id = "scopes",
size = 1
},
},
position = "bottom",
size = 10
},
{
elements = {
{
id = "repl",
size = 1
},
},
position = "bottom",
size = 10
}
},
})
require("dap-go").setup()
require("dap-python").setup()
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
vim.keymap.set("n", "<leader>b", dap.toggle_breakpoint)
vim.keymap.set("n", "<leader>gb", dap.run_to_cursor)
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
-- Eval var under cursor
vim.keymap.set("n", "<leader>?", function()
require("dapui").eval(nil, { enter = true })
end)
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
vim.keymap.set("n", "<F1>", dap.continue)
vim.keymap.set("n", "<F2>", dap.step_into)
vim.keymap.set("n", "<F3>", dap.step_over)
vim.keymap.set("n", "<F4>", dap.step_out)
vim.keymap.set("n", "<F5>", dap.step_back)
vim.keymap.set("n", "<F6>", dap.restart)
2024-11-09 02:13:41 +01:00
2025-02-18 19:51:10 +01:00
dap.listeners.before.attach.dapui_config = function()
ui.open()
end
dap.listeners.before.launch.dapui_config = function()
ui.open()
end
2025-02-21 18:57:05 +01:00
vim.api.nvim_create_user_command("DapResetUI", function()
ui.close()
ui.open()
end, {})
vim.api.nvim_create_user_command("DapCloseUI", function()
ui.close()
end, {})
2025-02-18 19:51:10 +01:00
-- dap.listeners.before.event_terminated.dapui_config = function()
-- ui.close()
-- end
-- dap.listeners.before.event_exited.dapui_config = function()
-- ui.close()
-- end
end,
},
2024-11-09 02:13:41 +01:00
}