1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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})
|