plugins/dap-rr: init

This commit is contained in:
Gaetan Lepage 2025-03-20 11:40:35 +01:00 committed by Gaétan Lepage
parent 94dbc6acab
commit 5fca2c2dca
2 changed files with 122 additions and 0 deletions

View file

@ -0,0 +1,64 @@
{ lib, ... }:
let
inherit (lib) types;
inherit (lib.nixvim) defaultNullOpts;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "dap-rr";
packPathName = "nvim-dap-rr";
package = "nvim-dap-rr";
maintainers = [ lib.maintainers.GaetanLepage ];
settingsOptions = {
mappings =
defaultNullOpts.mkAttrsOf types.str
{
continue = "<F7>";
step_over = "<F8>";
step_out = "<F9>";
step_into = "<F10>";
reverse_continue = "<F19>";
reverse_step_over = "<F20>";
reverse_step_out = "<F21>";
reverse_step_into = "<F22>";
step_over_i = "<F32>";
step_out_i = "<F33>";
step_into_i = "<F34>";
reverse_step_over_i = "<F44>";
reverse_step_out_i = "<F45>";
reverse_step_into_i = "<F46>";
}
''
Keyboard mappings for nvim-dap-rr.
'';
};
settingsExample = {
mappings = {
continue = "<f4>";
step_over = "<f10>";
step_out = "<f8>";
step_into = "<f11>";
reverse_continue = "<f4>";
reverse_step_over = "<s-f10>";
reverse_step_out = "<s-f8>";
reverse_step_into = "<s-f11>";
};
};
# Manually supplied to nvim-dap config module
callSetup = false;
extraConfig = cfg: {
plugins.dap = {
enable = true;
extensionConfigLua = ''
require("nvim-dap-rr").setup(${lib.nixvim.toLuaObject cfg.settings})
'';
configurations = {
rust = lib.mkDefault [ { __raw = "require('nvim-dap-rr').get_rust_config()"; } ];
cpp = lib.mkDefault [ { __raw = "require('nvim-dap-rr').get_config()"; } ];
};
};
};
}

View file

@ -0,0 +1,58 @@
{
empty = {
plugins = {
dap.enable = true;
dap-rr.enable = true;
};
};
defaults = {
plugins = {
dap.enable = true;
dap-rr = {
enable = true;
settings = {
mappings = {
continue = "<F7>";
step_over = "<F8>";
step_out = "<F9>";
step_into = "<F10>";
reverse_continue = "<F19>";
reverse_step_over = "<F20>";
reverse_step_out = "<F21>";
reverse_step_into = "<F22>";
step_over_i = "<F32>";
step_out_i = "<F33>";
step_into_i = "<F34>";
reverse_step_over_i = "<F44>";
reverse_step_out_i = "<F45>";
reverse_step_into_i = "<F46>";
};
};
};
};
};
example = {
plugins = {
dap.enable = true;
dap-rr = {
enable = true;
settings = {
mappings = {
continue = "<f4>";
step_over = "<f10>";
step_out = "<f8>";
step_into = "<f11>";
reverse_continue = "<f4>";
reverse_step_over = "<s-f10>";
reverse_step_out = "<s-f8>";
reverse_step_into = "<s-f11>";
};
};
};
};
};
}