diff --git a/plugins/default.nix b/plugins/default.nix index 5e94171c..5fbecc49 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -107,6 +107,7 @@ ./ui/image.nix ./ui/noice.nix + ./ui/transparent.nix ./utils/alpha.nix ./utils/auto-save.nix diff --git a/plugins/ui/transparent.nix b/plugins/ui/transparent.nix new file mode 100644 index 00000000..8f9ec70c --- /dev/null +++ b/plugins/ui/transparent.nix @@ -0,0 +1,72 @@ +{ + lib, + helpers, + config, + pkgs, + ... +}: +with lib; + helpers.neovim-plugin.mkNeovimPlugin config { + name = "transparent"; + originalName = "transparent.nvim"; + defaultPackage = pkgs.vimPlugins.transparent-nvim; + + maintainers = [maintainers.GaetanLepage]; + + settingsOptions = { + groups = + helpers.defaultNullOpts.mkListOf types.str + '' + [ + "Normal" + "NormalNC" + "Comment" + "Constant" + "Special" + "Identifier" + "Statement" + "PreProc" + "Type" + "Underlined" + "Todo" + "String" + "Function" + "Conditional" + "Repeat" + "Operator" + "Structure" + "LineNr" + "NonText" + "SignColumn" + "CursorLine" + "CursorLineNr" + "StatusLine" + "StatusLineNC" + "EndOfBuffer" + ] + '' + '' + The list of transparent groups. + ''; + + extra_groups = helpers.defaultNullOpts.mkListOf types.str "[]" '' + Additional groups that should be cleared. + ''; + + exclude_groups = helpers.defaultNullOpts.mkListOf types.str "[]" '' + Groups that you don't want to clear. + ''; + }; + + settingsExample = { + extra_groups = [ + "BufferLineTabClose" + "BufferLineBufferSelected" + "BufferLineFill" + "BufferLineBackground" + "BufferLineSeparator" + "BufferLineIndicatorSelected" + ]; + exclude_groups = []; + }; + } diff --git a/tests/test-sources/plugins/ui/transparent.nix b/tests/test-sources/plugins/ui/transparent.nix new file mode 100644 index 00000000..b6fc3ad1 --- /dev/null +++ b/tests/test-sources/plugins/ui/transparent.nix @@ -0,0 +1,43 @@ +{ + empty = { + plugins.transparent.enable = true; + }; + + defaults = { + plugins.transparent = { + enable = true; + + settings = { + groups = [ + "Normal" + "NormalNC" + "Comment" + "Constant" + "Special" + "Identifier" + "Statement" + "PreProc" + "Type" + "Underlined" + "Todo" + "String" + "Function" + "Conditional" + "Repeat" + "Operator" + "Structure" + "LineNr" + "NonText" + "SignColumn" + "CursorLine" + "CursorLineNr" + "StatusLine" + "StatusLineNC" + "EndOfBuffer" + ]; + extra_groups = []; + exclude_groups = []; + }; + }; + }; +}