aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/nv/nvim/plgs/leap
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:35:44 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:54:51 +0100
commit2122a01f99c6da466b8f0f55c965c11a9043d117 (patch)
tree6c1697afc30a5bb72635bda7db9b5610386a5b71 /modules/by-name/nv/nvim/plgs/leap
parentfix(pkgs/stamp): Fallback to `dot-license` (diff)
downloadnixos-config-2122a01f99c6da466b8f0f55c965c11a9043d117.zip
refactor(modules/legacy/conf/nvim): Move to `by-name`
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/leap')
-rw-r--r--modules/by-name/nv/nvim/plgs/leap/default.nix65
1 files changed, 65 insertions, 0 deletions
diff --git a/modules/by-name/nv/nvim/plgs/leap/default.nix b/modules/by-name/nv/nvim/plgs/leap/default.nix
new file mode 100644
index 00000000..57e78879
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/leap/default.nix
@@ -0,0 +1,65 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.soispha.programs.nvim;
+in {
+ home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
+ plugins.leap = {
+ enable = true;
+ addDefaultMappings = false; # They don't work with dvorak.
+ safeLabels = [
+ "f"
+ "j"
+ "k"
+ "l"
+ "/"
+ "z"
+ "S"
+ "F"
+ "J"
+ "K"
+ "L"
+ "H"
+ "W"
+ "E"
+ "M"
+ "B"
+ "U"
+ "X"
+ "?"
+ "Z"
+ ];
+ };
+ keymaps = [
+ {
+ key = "j";
+ action = "<Plug>(leap-forward-to)";
+ options.desc = "jump forward to";
+ }
+ {
+ key = "J";
+ action = "<Plug>(leap-backward-to)";
+ options.desc = "jump backward to";
+ }
+ {
+ key = "gj";
+ action = "<Plug>(leap-from-window)";
+ options.desc = "jump to enterable windows";
+ }
+ /*
+ {key= "x";
+ mode = "v";
+ action = "<Plug>(leap-forward-till)";
+ options.desc = "leap forward till";
+ }
+ {key= "X";
+ mode = "v";
+ action = "<Plug>(leap-backward-till)";
+ options.desc = "leap backward till";
+ }
+ */
+ ];
+ };
+}