diff options
Diffstat (limited to 'modules/development/nixvim/plugins/dap-ui')
| -rw-r--r-- | modules/development/nixvim/plugins/dap-ui/dap-ui.lua | 10 | ||||
| -rw-r--r-- | modules/development/nixvim/plugins/dap-ui/default.nix | 28 |
2 files changed, 38 insertions, 0 deletions
diff --git a/modules/development/nixvim/plugins/dap-ui/dap-ui.lua b/modules/development/nixvim/plugins/dap-ui/dap-ui.lua new file mode 100644 index 0000000..bcf4fe3 --- /dev/null +++ b/modules/development/nixvim/plugins/dap-ui/dap-ui.lua @@ -0,0 +1,10 @@ +local dap, dapui = require("dap"), require("dapui") +dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() +end +dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() +end +dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() +end diff --git a/modules/development/nixvim/plugins/dap-ui/default.nix b/modules/development/nixvim/plugins/dap-ui/default.nix new file mode 100644 index 0000000..eb83609 --- /dev/null +++ b/modules/development/nixvim/plugins/dap-ui/default.nix @@ -0,0 +1,28 @@ +# A UI for nvim-dap. +{ config, lib, ... }: +{ + config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + plugins.dap-ui = { + enable = true; + }; + + keymaps = [ + # dap-ui controls + { + mode = "n"; + key = "<leader>du"; + action = "<cmd>lua require('dapui').toggle()<CR>"; + options.desc = "Debug: Toggle UI"; + } + { + mode = "n"; + key = "<leader>de"; + action = "<cmd>lua require('dapui').eval()<CR>"; + options.desc = "Debug: Eval Expression Under Cursor"; + } + ]; + + # Auto open/close dap-ui with the debug session lifecycle + extraConfigLua = builtins.readFile ./dap-ui.lua; + }; +} |
