diff --git a/plugins/by-name/mini-indentscope/default.nix b/plugins/by-name/mini-indentscope/default.nix new file mode 100644 index 00000000..59f7e9f0 --- /dev/null +++ b/plugins/by-name/mini-indentscope/default.nix @@ -0,0 +1,31 @@ +{ lib, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "mini-indentscope"; + moduleName = "mini.indentscope"; + + maintainers = [ lib.maintainers.HeitorAugustoLN ]; + + settingsExample = { + draw = { + delay = 100; + predicate = lib.nixvim.nestedLiteralLua "function (scope) return not scope.body.is_incomplete end"; + priority = 2; + }; + + mappings = { + object_scope = "ii"; + object_scope_with_border = "ai"; + goto_top = "[i"; + goto_bottom = "]i"; + }; + + options = { + border = "both"; + indent_at_cursor = true; + n_lines = 10000; + try_as_border = false; + }; + + symbol = "╎"; + }; +} diff --git a/tests/test-sources/plugins/by-name/mini-indentscope/default.nix b/tests/test-sources/plugins/by-name/mini-indentscope/default.nix new file mode 100644 index 00000000..61caeb98 --- /dev/null +++ b/tests/test-sources/plugins/by-name/mini-indentscope/default.nix @@ -0,0 +1,35 @@ +{ lib, ... }: +{ + empty = { + plugins.mini-indentscope.enable = true; + }; + + defaults = { + plugins.mini-indentscope = { + enable = true; + settings = { + draw = { + delay = 100; + predicate = lib.nixvim.mkRaw "function (scope) return not scope.body.is_incomplete end"; + priority = 2; + }; + + mappings = { + object_scope = "ii"; + object_scope_with_border = "ai"; + goto_top = "[i"; + goto_bottom = "]i"; + }; + + options = { + border = "both"; + indent_at_cursor = true; + n_lines = 10000; + try_as_border = false; + }; + + symbol = "╎"; + }; + }; + }; +}