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
|
local M = {}
M.config = function()
options.builtin.dap = {
active = false,
on_config_done = nil,
breakpoint = {
text = "",
texthl = "LspDiagnosticsSignError",
linehl = "",
numhl = "",
},
breakpoint_rejected = {
text = "",
texthl = "LspDiagnosticsSignHint",
linehl = "",
numhl = "",
},
stopped = {
text = "",
texthl = "LspDiagnosticsSignInformation",
linehl = "DiagnosticUnderlineInfo",
numhl = "LspDiagnosticsSignInformation",
},
}
end
M.setup = function()
local dap = require "dap"
vim.fn.sign_define("DapBreakpoint", options.builtin.dap.breakpoint)
vim.fn.sign_define("DapBreakpointRejected", options.builtin.dap.breakpoint_rejected)
vim.fn.sign_define("DapStopped", options.builtin.dap.stopped)
dap.defaults.fallback.terminal_win_cmd = "50vsplit new"
options.builtin.which_key.mappings["d"] = {
name = "Debug",
t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" },
b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" },
c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" },
d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" },
g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" },
i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" },
o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" },
u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" },
p = { "<cmd>lua require'dap'.pause.toggle()<cr>", "Pause" },
r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" },
s = { "<cmd>lua require'dap'.continue()<cr>", "Start" },
q = { "<cmd>lua require'dap'.close()<cr>", "Quit" },
}
if options.builtin.dap.on_config_done then
options.builtin.dap.on_config_done(dap)
end
end
-- TODO put this up there ^^^ call in ftplugin
-- M.dap = function()
-- if options.plugin.dap.active then
-- local dap_install = require "dap-install"
-- dap_install.config("python_dbg", {})
-- end
-- end
--
-- M.dap = function()
-- -- gem install readapt ruby-debug-ide
-- if options.plugin.dap.active then
-- local dap_install = require "dap-install"
-- dap_install.config("ruby_vsc_dbg", {})
-- end
-- end
return M
|