aboutsummaryrefslogtreecommitdiffstats
path: root/modules/development/nixvim/plugins/dap
diff options
context:
space:
mode:
Diffstat (limited to 'modules/development/nixvim/plugins/dap')
-rw-r--r--modules/development/nixvim/plugins/dap/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/modules/development/nixvim/plugins/dap/default.nix b/modules/development/nixvim/plugins/dap/default.nix
new file mode 100644
index 0000000..97452ac
--- /dev/null
+++ b/modules/development/nixvim/plugins/dap/default.nix
@@ -0,0 +1,67 @@
+# Debug Adapter Protocol client implementation for Neovim.
+{ config, lib, ... }:
+{
+ config.programs.nixvim = lib.mkIf config.development.nixvim.enable {
+ plugins.dap = {
+ enable = true;
+ };
+
+ keymaps = [
+ # Core DAP controls
+ {
+ mode = "n";
+ key = "<leader>dc";
+ action = "<cmd>lua require('dap').continue()<CR>";
+ options.desc = "Debug: Continue";
+ }
+ {
+ mode = "n";
+ key = "<leader>di";
+ action = "<cmd>lua require('dap').step_into()<CR>";
+ options.desc = "Debug: Step Into";
+ }
+ {
+ mode = "n";
+ key = "<leader>do";
+ action = "<cmd>lua require('dap').step_over()<CR>";
+ options.desc = "Debug: Step Over";
+ }
+ {
+ mode = "n";
+ key = "<leader>dO";
+ action = "<cmd>lua require('dap').step_out()<CR>";
+ options.desc = "Debug: Step Out";
+ }
+ {
+ mode = "n";
+ key = "<leader>db";
+ action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
+ options.desc = "Debug: Toggle Breakpoint";
+ }
+ {
+ mode = "n";
+ key = "<leader>dB";
+ action = "<cmd>lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>";
+ options.desc = "Debug: Conditional Breakpoint";
+ }
+ {
+ mode = "n";
+ key = "<leader>dl";
+ action = "<cmd>lua require('dap').run_last()<CR>";
+ options.desc = "Debug: Run Last";
+ }
+ {
+ mode = "n";
+ key = "<leader>dt";
+ action = "<cmd>lua require('dap').terminate()<CR>";
+ options.desc = "Debug: Terminate";
+ }
+ {
+ mode = "n";
+ key = "<leader>dr";
+ action = "<cmd>lua require('dap').repl.toggle()<CR>";
+ options.desc = "Debug: Toggle REPL";
+ }
+ ];
+ };
+}