aboutsummaryrefslogtreecommitdiff
path: root/lua/gabrielgio/dap.lua
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2024-09-16 23:27:46 +0200
committerGabriel A. Giovanini <mail@gabrielgio.me>2024-09-16 23:27:46 +0200
commitc6df47c2a00b01b24233a57495a6584fe4f4ae3f (patch)
treee354478cd13648ec95a8e5a7fbe8ef2c1fa86de1 /lua/gabrielgio/dap.lua
parent1f10205b39b1419c1644f749aea4b57baa12f4ea (diff)
downloadgabrielgio.lua-c6df47c2a00b01b24233a57495a6584fe4f4ae3f.tar.gz
gabrielgio.lua-c6df47c2a00b01b24233a57495a6584fe4f4ae3f.tar.bz2
gabrielgio.lua-c6df47c2a00b01b24233a57495a6584fe4f4ae3f.zip
feat: Sync
Diffstat (limited to 'lua/gabrielgio/dap.lua')
-rw-r--r--lua/gabrielgio/dap.lua64
1 files changed, 64 insertions, 0 deletions
diff --git a/lua/gabrielgio/dap.lua b/lua/gabrielgio/dap.lua
index c5f316b..c5059c6 100644
--- a/lua/gabrielgio/dap.lua
+++ b/lua/gabrielgio/dap.lua
@@ -1,5 +1,6 @@
local dap = require("dap")
local key = require("gabrielgio.key")
+local dapui = require("dapui")
key.nnoremap("<F5>", ":lua require'dap'.continue()<CR>")
key.nnoremap("<F10>", ":lua require'dap'.step_over()<CR>")
@@ -8,6 +9,7 @@ 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>dr", ":lua require'dap'.repl.open()<CR>")
+key.nnoremap("<Alt-k>", "<Cmd>lua require'dapui'.eval()<CR>")
dap.adapters.delve = {
type = "server",
@@ -15,6 +17,19 @@ dap.adapters.delve = {
port = 2345,
}
+dap.adapters.gdb = {
+ id = "gdb",
+ type = "executable",
+ command = "gdb",
+ args = { "--interpreter=dap", "--eval-command", "set print pretty on" },
+}
+
+dap.adapters.lldb = {
+ type = "executable",
+ command = "lldb-vscode", -- adjust as needed, must be absolute path
+ name = "lldb",
+}
+
dap.configurations.go = {
{
type = "delve",
@@ -27,3 +42,52 @@ dap.configurations.go = {
},
},
}
+dap.configurations.zig = {
+ {
+ name = "Launch",
+ type = "gdb",
+ request = "launch",
+ program = function()
+ return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
+ end,
+ cwd = "${workspaceFolder}",
+ stopAtBeginningOfMainSubprogram = false,
+ args = function()
+ local args_str = vim.fn.input({
+ prompt = "Arguments: ",
+ })
+ return vim.split(args_str, " +")
+ end,
+ },
+ {
+ name = "Launch",
+ type = "lldb",
+ request = "launch",
+ program = function()
+ return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
+ end,
+ cwd = "${workspaceFolder}",
+ stopAtBeginningOfMainSubprogram = false,
+ args = function()
+ local args_str = vim.fn.input({
+ prompt = "Arguments: ",
+ })
+ return vim.split(args_str, " +")
+ end,
+ },
+}
+
+dapui.setup({
+ layouts = {
+ {
+ elements = {
+ {
+ id = "watches",
+ size = 1,
+ },
+ },
+ position = "bottom",
+ size = 10,
+ },
+ },
+})