mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-19 13:19:48 +01:00
50 lines
1.7 KiB
Nix
50 lines
1.7 KiB
Nix
{lib, ...}: let
|
|
inherit (lib.options) mkEnableOption mkOption;
|
|
inherit (lib.types) bool attrsOf str;
|
|
inherit (lib.nvim.binds) mkMappingOption;
|
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
|
in {
|
|
options.vim.debugger.nvim-dap = {
|
|
enable = mkEnableOption "debugging via nvim-dap";
|
|
|
|
ui = {
|
|
enable = mkEnableOption "UI extension for nvim-dap";
|
|
|
|
setupOpts = mkPluginSetupOption "nvim-dap-ui" {};
|
|
|
|
autoStart = mkOption {
|
|
type = bool;
|
|
default = true;
|
|
description = "Automatically Opens and Closes DAP-UI upon starting/closing a debugging session";
|
|
};
|
|
};
|
|
|
|
sources = mkOption {
|
|
default = {};
|
|
description = "List of debuggers to install";
|
|
type = attrsOf str;
|
|
};
|
|
|
|
mappings = {
|
|
continue = mkMappingOption "Continue" "<leader>dc";
|
|
restart = mkMappingOption "Restart" "<leader>dR";
|
|
terminate = mkMappingOption "Terminate" "<leader>dq";
|
|
runLast = mkMappingOption "Re-run Last Debug Session" "<leader>d.";
|
|
|
|
toggleRepl = mkMappingOption "Toggle Repl" "<leader>dr";
|
|
hover = mkMappingOption "Hover" "<leader>dh";
|
|
toggleBreakpoint = mkMappingOption "Toggle breakpoint" "<leader>db";
|
|
|
|
runToCursor = mkMappingOption "Continue to the current cursor" "<leader>dgc";
|
|
stepInto = mkMappingOption "Step into function" "<leader>dgi";
|
|
stepOut = mkMappingOption "Step out of function" "<leader>dgo";
|
|
stepOver = mkMappingOption "Next step" "<leader>dgj";
|
|
stepBack = mkMappingOption "Step back" "<leader>dgk";
|
|
|
|
goUp = mkMappingOption "Go up stacktrace" "<leader>dvo";
|
|
goDown = mkMappingOption "Go down stacktrace" "<leader>dvi";
|
|
|
|
toggleDapUI = mkMappingOption "Toggle DAP-UI" "<leader>du";
|
|
};
|
|
};
|
|
}
|