aboutsummaryrefslogtreecommitdiff
path: root/lua/gabrielgio/dap.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/gabrielgio/dap.lua')
-rw-r--r--lua/gabrielgio/dap.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/lua/gabrielgio/dap.lua b/lua/gabrielgio/dap.lua
new file mode 100644
index 0000000..2534c7a
--- /dev/null
+++ b/lua/gabrielgio/dap.lua
@@ -0,0 +1,32 @@
+local dap = require("dap")
+local key = require("gabrielgio.key")
+local dapgo = require("dap-go")
+
+dapgo.setup({delve = {build_flags = "-tags=unit,integration,e2e"}})
+
+key.nnoremap("<F5>", ":lua require'dap'.continue()<CR>")
+key.nnoremap("<F10>", ":lua require'dap'.step_over()<CR>")
+key.nnoremap("<F11>", ":lua require'dap'.step_into()<CR>")
+key.nnoremap("<F12>", ":lua require'dap'.step_out()<CR>")
+key.nnoremap("<leader>b", ":lua require'dap'.toggle_breakpoint()<CR>")
+key.nnoremap("<leader>B", ":lua require'dap'.set_breakpoint(vim.fn.input('Condition: '))<CR>")
+key.nnoremap("<leader>dt", ":lua require'dap-go'.debug_test()<CR>")
+key.nnoremap("<leader>dr", ":lua require'dap'.repl.open()<CR>")
+
+dap.adapters.gdb = {
+ type = "executable",
+ command = "gdb",
+ args = { "-i", "dap" }
+}
+
+dap.configurations.c = {
+ {
+ name = "Launch",
+ type = "gdb",
+ request = "launch",
+ program = function()
+ return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
+ end,
+ cwd = "${workspaceFolder}",
+ },
+}