From c6df47c2a00b01b24233a57495a6584fe4f4ae3f Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Mon, 16 Sep 2024 23:27:46 +0200 Subject: feat: Sync --- init.lua | 1 + lua/gabrielgio/dap.lua | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/init.lua b/init.lua index 4e78cd4..97e7598 100644 --- a/init.lua +++ b/init.lua @@ -25,6 +25,7 @@ local pkgs = { "folke/trouble.nvim", -- diagnostics "mfussenegger/nvim-dap", -- add dap support "nvim-neotest/nvim-nio", -- async support library + "rcarriga/nvim-dap-ui", -- dap ui "nvim-lua/plenary.nvim", -- base lib "nvim-telescope/telescope.nvim", -- telescope "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser 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("", ":lua require'dap'.continue()") key.nnoremap("", ":lua require'dap'.step_over()") @@ -8,6 +9,7 @@ key.nnoremap("", ":lua require'dap'.step_out()") key.nnoremap("b", ":lua require'dap'.toggle_breakpoint()") key.nnoremap("B", ":lua require'dap'.set_breakpoint(vim.fn.input('Condition: '))") key.nnoremap("dr", ":lua require'dap'.repl.open()") +key.nnoremap("", "lua require'dapui'.eval()") 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, + }, + }, +}) -- cgit v1.2.3