diff --git a/neovim/.config/nvim/after/plugin/dap.lua b/neovim/.config/nvim/after/plugin/dap.lua new file mode 100644 index 0000000..c440976 --- /dev/null +++ b/neovim/.config/nvim/after/plugin/dap.lua @@ -0,0 +1,41 @@ +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", + 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 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) diff --git a/neovim/.config/nvim/init.lua b/neovim/.config/nvim/init.lua index a4aaa3c..c8c0486 100644 --- a/neovim/.config/nvim/init.lua +++ b/neovim/.config/nvim/init.lua @@ -151,6 +151,14 @@ require("packer").startup(function(use) end, }) + use({ "mfussenegger/nvim-dap" }) + use({ + "theHamsta/nvim-dap-virtual-text", + config = function() + require("nvim-dap-virtual-text").setup() + end, + }) + if PACKER_BOOTSTRAP then require("packer").sync() end