summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/my/packages/dap.lua
diff options
context:
space:
mode:
authorMike Vink <mike@pionative.com>2025-02-08 08:16:07 +0100
committerMike Vink <mike@pionative.com>2025-02-08 08:16:07 +0100
commit7d30d2272ef59166c1b382cab324a400a42d577d (patch)
tree8f153f04818c7622b9cd2a3e1a18f9dcce1a1104 /.config/nvim/lua/my/packages/dap.lua
parentfd48011d2ef530b392df72e8685da4e8a2a54d1d (diff)
copy config
Diffstat (limited to '.config/nvim/lua/my/packages/dap.lua')
-rw-r--r--.config/nvim/lua/my/packages/dap.lua125
1 files changed, 125 insertions, 0 deletions
diff --git a/.config/nvim/lua/my/packages/dap.lua b/.config/nvim/lua/my/packages/dap.lua
new file mode 100644
index 0000000..c9240f9
--- /dev/null
+++ b/.config/nvim/lua/my/packages/dap.lua
@@ -0,0 +1,125 @@
+local dap = require("dap")
+local adapters = dap.adapters
+local configurations = dap.configurations
+
+local dapui = require("dapui")
+local dappy = require("dap-python")
+
+adapters.delve = {
+ type="server",
+ port="${port}",
+ executable={
+ command="dlv",
+ args= { "dap", "-l", "127.0.0.1:${port}" }
+ }
+}
+
+configurations.go = {
+ {type = "delve",
+ name = "Debug",
+ request = "launch",
+ env = {CGO_CFLAGS="-Wno-error=cpp"},
+ program = "${file}"},
+ {type = "delve",
+ name = "DebugTest",
+ request = "launch",
+ mode = "test",
+ env = {CGO_CFLAGS="-Wno-error=cpp"},
+ program = "${file}"},
+ {type = "delve",
+ name = "DebugTerraform",
+ request = "launch",
+ program = "${file}",
+ env = {CGO_CFLAGS="-Wno-error=cpp"},
+ args = { "-debug" }},
+ {type = "delve",
+ name = "DebugTerraformAcc",
+ request = "launch",
+ program = "${file}",
+ mode = "test",
+ env = {CGO_CFLAGS="-Wno-error=cpp", TF_ACC=1}},
+ {type = "delve",
+ name = "DebugTestSuite",
+ request = "launch",
+ mode = "test",
+ env = {CGO_CFLAGS="-Wno-error=cpp"},
+ program = "${fileDirname}"},
+}
+
+dapui.setup {
+ expand_lines=false,
+ layouts={
+ {position="bottom", size=10, elements={ {id="repl", size=0.5}, {id="console", size=0.5} }},
+ {position="left", size=40, elements={ {id="breakpoints",size=0.25}, {id="stacks", size=0.25}, {id="watches", size=0.25}, {id="scopes", size=0.25} }},
+ {position="bottom", size=25, elements={ {id="repl", size=0.35}, {id="watches", size=0.65} }},
+ }
+}
+
+dappy.setup()
+
+-- (local run_table
+-- {:python
+-- (fn [fname]
+-- {
+-- :name (.. "Launch " fname)
+-- :program fname
+-- :console "externalTerminal"
+-- :request "launch"
+-- :type "python"
+-- :cwd :/Users/ivi/Programming
+-- :waitOnAbnormalExit true
+-- :waitOnNormalExit true})})
+-- (vim.keymap.set
+-- :n
+-- "s;"
+-- (fn []
+-- (local fname (vim.fn.fnamemodify (vim.fn.bufname "%") ":p"))
+-- (local get_config (. run_table (vim.opt_local.ft:get)))
+--
+-- (set dap.defaults.fallback.external_terminal
+-- {:command :/Applications/Alacritty.app/Contents/MacOS/alacritty
+-- :args [:-T :dap :--working-directory (vim.fn.getcwd) :-e]})
+--
+-- (if get_config
+-- (dap.run (get_config fname)))))
+
+
+vim.keymap.set("n", "si",
+ function()
+ dapui.toggle {layout=1, reset=true}
+ dapui.toggle {layout=2, reset=true}
+ end, {silent=true})
+
+vim.keymap.set("n", "s<enter>", function() dapui.toggle {layout=3, reset=true} end, {silent=true})
+-- ;; "breakpoints",
+-- ;; "repl",
+-- ;; "scopes",
+-- ;; "stacks",
+-- ;; "watches",
+-- ;; "hover",
+-- ;; "console",)
+vim.keymap.set("n", "sfw",
+ function()
+ dapui.float_element("watches", {width=vim.api.nvim_win_get_width(0), height=30, enter=true})
+ end, {silent=true})
+
+vim.keymap.set("n", "sfs",
+ function()
+ dapui.float_element("scopes", {width=vim.api.nvim_win_get_width(0), height=30, enter=true})
+ end, {silent=true})
+
+vim.keymap.set("n", "sq", dap.terminate, {silent=true})
+vim.keymap.set("n", "sc", dap.continue, {silent=true})
+vim.keymap.set("n", "sr", dap.run_to_cursor, {silent=true})
+vim.keymap.set("n", "sn", dap.step_over, {silent=true})
+vim.keymap.set("n", "ss", dap.step_into, {silent=true})
+vim.keymap.set("n", "so", dap.step_out, {silent=true})
+vim.keymap.set("n", "sb", dap.toggle_breakpoint, {silent=true})
+vim.keymap.set("n", "sB", dap.set_breakpoint, {silent=true})
+vim.keymap.set("n", "slp",
+ function()
+ dap.set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
+ end, {silent=true})
+
+vim.keymap.set("n", "st", dap.repl.toggle, {silent=true})
+vim.keymap.set("n", "sl", dap.run_last, {silent=true})