local dap = require("dap") dap.adapters.delve = { type = "server", port = "${port}", executable = { command = "dlv", args = { "dap", "-l", "127.0.0.1:${port}" }, }, } -- https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_dap.md dap.configurations.go = { { type = "delve", name = "Debug file", request = "launch", program = "${file}", }, { type = "delve", name = "Debug test", -- configuration for debugging test files request = "launch", mode = "test", program = "${file}", }, -- works with go.mod packages and sub packages { type = "delve", name = "Debug app (go.mod)", request = "launch", program = "./${relativeFileDirname}", }, { type = "delve", name = "Debug test (go.mod)", request = "launch", mode = "test", program = "./${relativeFileDirname}", }, } vim.keymap.set("n", "dc", dap.continue) vim.keymap.set("n", "db", dap.toggle_breakpoint) vim.keymap.set("n", "dn", dap.step_over) vim.keymap.set("n", "dN", dap.step_back) vim.keymap.set("n", "dr", dap.repl.toggle)