dotfiles/vim/lua/debugger.lua

113 lines
1.7 KiB
Lua

-- require("dap").set_log_level("DEBUG")
-- go install github.com/go-delve/delve/cmd/dlv@latest
require("dap-go").setup({})
require("dap-ruby").setup()
local prefix = "D"
local configs = {
{
"Continue",
"<Leader>dc",
function()
require("dap").continue()
end,
},
{
"Next",
"<Leader>dn",
function()
require("dap").step_over()
end,
},
{
"StepInto",
"<Leader>di",
function()
require("dap").step_into()
end,
},
{
"StepOut",
"<Leader>du",
function()
require("dap").step_out()
end,
},
{
"ToggleBreakpoint",
"<Leader>dt",
function()
require("dap").toggle_breakpoint()
end,
},
{
"Breakpoint",
"<Leader>db",
function()
require("dap").set_breakpoint()
end,
},
{
"Logpoint",
"<Leader>dl",
function()
require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
end,
},
{
"Repl",
"<Leader>dr",
function()
require("dap").repl.open()
end,
},
{
"RunLast",
"<Leader>dl",
function()
require("dap").run_last()
end,
},
{
"WidgetsHover",
"<Leader>dh",
function()
require("dap.ui.widgets").hover()
end,
},
{
"WidgetsPreview",
"<Leader>dp",
function()
require("dap.ui.widgets").preview()
end,
},
{
"Frames",
"<Leader>df",
function()
local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.frames)
end,
},
{
"Scopes",
"<Leader>ds",
function()
local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.scopes)
end,
},
}
for _, v in pairs(configs) do
local name = v[1]
local keymap = v[2]
local fn = v[3]
vim.api.nvim_create_user_command(prefix .. name, fn, {})
vim.keymap.set("n", keymap, fn)
end