From 4e041371571633fcee7c62612e8ef706ccc7fcbe Mon Sep 17 00:00:00 2001 From: Heitor Augusto <44377258+HeitorAugustoLN@users.noreply.github.com> Date: Sun, 2 Nov 2025 00:56:30 -0300 Subject: [PATCH] plugins/mini-diff: init --- plugins/by-name/mini-diff/default.nix | 38 +++++++++++++++++ .../plugins/by-name/mini-diff/default.nix | 42 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 plugins/by-name/mini-diff/default.nix create mode 100644 tests/test-sources/plugins/by-name/mini-diff/default.nix diff --git a/plugins/by-name/mini-diff/default.nix b/plugins/by-name/mini-diff/default.nix new file mode 100644 index 00000000..192e322d --- /dev/null +++ b/plugins/by-name/mini-diff/default.nix @@ -0,0 +1,38 @@ +{ lib, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "mini-diff"; + moduleName = "mini.diff"; + + maintainers = [ lib.maintainers.HeitorAugustoLN ]; + + settingsExample = { + view = { + style = lib.nixvim.nestedLiteralLua "vim.go.number and 'number' or 'sign'"; + signs = { + add = "▒"; + change = "▒"; + delete = "▒"; + }; + priority = 199; + }; + source = lib.nixvim.nestedLiteralLua "nil"; + delay = { + text_change = 200; + }; + mappings = { + apply = "gh"; + reset = "gH"; + textobject = "gh"; + goto_first = "[H"; + goto_prev = "[h"; + goto_next = "]h"; + goto_last = "]H"; + }; + options = { + algorithm = "histogram"; + indent_heuristic = true; + linematch = 60; + wrap_goto = false; + }; + }; +} diff --git a/tests/test-sources/plugins/by-name/mini-diff/default.nix b/tests/test-sources/plugins/by-name/mini-diff/default.nix new file mode 100644 index 00000000..1bca951f --- /dev/null +++ b/tests/test-sources/plugins/by-name/mini-diff/default.nix @@ -0,0 +1,42 @@ +{ lib, ... }: +{ + empty = { + plugins.mini-diff.enable = true; + }; + + defaults = { + plugins.mini-diff = { + enable = true; + settings = { + view = { + style = lib.nixvim.mkRaw "vim.go.number and 'number' or 'sign'"; + signs = { + add = "▒"; + change = "▒"; + delete = "▒"; + }; + priority = 199; + }; + source = lib.nixvim.mkRaw "nil"; + delay = { + text_change = 200; + }; + mappings = { + apply = "gh"; + reset = "gH"; + textobject = "gh"; + goto_first = "[H"; + goto_prev = "[h"; + goto_next = "]h"; + goto_last = "]H"; + }; + options = { + algorithm = "histogram"; + indent_heuristic = true; + linematch = 60; + wrap_goto = false; + }; + }; + }; + }; +}