Skip to content

Commit d19c7be

Browse files
committed
dap: enable lazy loading
1 parent 065c506 commit d19c7be

File tree

1 file changed

+70
-42
lines changed

1 file changed

+70
-42
lines changed

modules/nixvim/plugins/dap/default.nix

Lines changed: 70 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,56 @@ in
8585
};
8686

8787
plugins = {
88+
dap-ui = {
89+
enable = true;
90+
91+
lazyLoad.settings = {
92+
before.__raw = ''
93+
function()
94+
require('lz.n').trigger_load('nvim-dap')
95+
end
96+
'';
97+
keys = [
98+
{
99+
__unkeyed-1 = "<leader>du";
100+
__unkeyed-2.__raw = ''
101+
function()
102+
require('dap.ext.vscode').load_launchjs(nil, {})
103+
require("dapui").toggle()
104+
end
105+
'';
106+
desc = "Toggle Debugger UI";
107+
# options = {
108+
# silent = true;
109+
# };
110+
}
111+
];
112+
};
113+
};
114+
dap-virtual-text = {
115+
enable = true;
116+
117+
lazyLoad.settings = {
118+
before.__raw = ''
119+
function()
120+
require('lz.n').trigger_load('nvim-dap')
121+
end
122+
'';
123+
cmd = [
124+
"DapVirtualTextToggle"
125+
"DapVirtualTextEnable"
126+
];
127+
};
128+
};
88129
dap = {
89130
enable = true;
90-
# TODO: # TODO: upgrade to mkNeovimPlugin
91-
# lazyLoad.enable = true;
131+
132+
lazyLoad.settings = {
133+
cmd = [
134+
"DapContinue"
135+
"DapNew"
136+
];
137+
};
92138

93139
adapters = {
94140
executables = {
@@ -252,15 +298,15 @@ in
252298
];
253299
};
254300

255-
extensions = {
256-
dap-ui = {
257-
enable = true;
258-
};
301+
# extensions = {
302+
# dap-ui = {
303+
# enable = true;
304+
# };
259305

260-
dap-virtual-text = {
261-
enable = true;
262-
};
263-
};
306+
# dap-virtual-text = {
307+
# enable = true;
308+
# };
309+
# };
264310

265311
signs = {
266312
dapBreakpoint = {
@@ -301,11 +347,7 @@ in
301347
{
302348
mode = "n";
303349
key = "<leader>db";
304-
action.__raw = ''
305-
function()
306-
require("dap").toggle_breakpoint()
307-
end
308-
'';
350+
action = "<CMD>DapToggleBreakpoint<CR>";
309351
options = {
310352
desc = "Breakpoint toggle";
311353
silent = true;
@@ -314,11 +356,7 @@ in
314356
{
315357
mode = "n";
316358
key = "<leader>dc";
317-
action.__raw = ''
318-
function()
319-
require("dap").continue()
320-
end
321-
'';
359+
action = "<CMD>DapContinue<CR>";
322360
options = {
323361
desc = "Continue Debugging (Start)";
324362
silent = true;
@@ -338,11 +376,7 @@ in
338376
{
339377
mode = "n";
340378
key = "<leader>do";
341-
action.__raw = ''
342-
function()
343-
require("dap").step_out()
344-
end
345-
'';
379+
action = "<CMD>DapStepOut<CR>";
346380
options = {
347381
desc = "Step Out";
348382
silent = true;
@@ -351,11 +385,7 @@ in
351385
{
352386
mode = "n";
353387
key = "<leader>ds";
354-
action.__raw = ''
355-
function()
356-
require("dap").step_over()
357-
end
358-
'';
388+
action = "<CMD>DapStepOver<CR>";
359389
options = {
360390
desc = "Step Over";
361391
silent = true;
@@ -364,11 +394,7 @@ in
364394
{
365395
mode = "n";
366396
key = "<leader>dS";
367-
action.__raw = ''
368-
function()
369-
require("dap").step_into()
370-
end
371-
'';
397+
action = "<CMD>DapStepInto<CR>";
372398
options = {
373399
desc = "Step Into";
374400
silent = true;
@@ -377,16 +403,14 @@ in
377403
{
378404
mode = "n";
379405
key = "<leader>dt";
380-
action.__raw = ''
381-
function() require("dap").terminate() end
382-
'';
406+
action = "<CMD>DapTerminate<CR>";
383407
options = {
384408
desc = "Terminate Debugging";
385409
silent = true;
386410
};
387411
}
388412
]
389-
++ lib.optionals config.plugins.dap.extensions.dap-ui.enable [
413+
++ lib.optionals config.plugins.dap-ui.enable [
390414
{
391415
mode = "v";
392416
key = "<leader>de";
@@ -413,7 +437,7 @@ in
413437
silent = true;
414438
};
415439
}
416-
{
440+
(lib.mkIf (!config.plugins.lz-n.enable) {
417441
mode = "n";
418442
key = "<leader>du";
419443
action.__raw = ''
@@ -426,11 +450,15 @@ in
426450
desc = "Toggle Debugger UI";
427451
silent = true;
428452
};
429-
}
453+
})
430454
]
431455
++
432456
lib.optionals
433-
((builtins.elem nvim-dap-view config.extraPlugins) && !config.plugins.dap.extensions.dap-ui.enable)
457+
(
458+
(builtins.elem nvim-dap-view config.extraPlugins)
459+
&& !config.plugins.dap.extensions.dap-ui.enable
460+
&& !config.plugins.lz-n.enable
461+
)
434462
[
435463
{
436464
mode = "n";

0 commit comments

Comments
 (0)