diff --git a/plugins/colorschemes/bamboo.nix b/plugins/colorschemes/bamboo.nix new file mode 100644 index 00000000..577a4c07 --- /dev/null +++ b/plugins/colorschemes/bamboo.nix @@ -0,0 +1,74 @@ +{ + lib, + ... +}: +let + inherit (lib.nixvim) toLuaObject; +in +lib.nixvim.plugins.mkNeovimPlugin { + name = "bamboo"; + isColorscheme = true; + packPathName = "bamboo.nvim"; + package = "bamboo-nvim"; + + maintainers = [ lib.maintainers.alisonjenkins ]; + + settingsExample = { + style = "vulgaris"; + toggle_style_key = null; + toggle_style_list = [ + "vulgaris" + "multiplex" + "light" + ]; + transparent = false; + dim_inactive = false; + term_colors = true; + ending_tildes = false; + cmp_itemkind_reverse = false; + + code_style = { + comments = { + italic = true; + }; + conditionals = { + italic = true; + }; + keywords = { }; + functions = { }; + namespaces = { + italic = true; + }; + parameters = { + italic = true; + }; + strings = { }; + variables = { }; + }; + + lualine = { + transparent = false; + }; + + colors = { }; + highlights = { }; + + diagnostics = { + darker = false; + undercurl = true; + background = true; + }; + }; + + # The colorscheme option is set by the `setup` function. + colorscheme = null; + callSetup = false; + + extraConfig = cfg: { + colorschemes.bamboo.luaConfig.content = '' + local bamboo = require("bamboo") + bamboo.setup(${toLuaObject cfg.settings}) + bamboo.colorscheme() + ''; + }; +} diff --git a/plugins/default.nix b/plugins/default.nix index b40e69c0..7ce4fbed 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -3,6 +3,7 @@ ./cmp ./colorschemes/ayu.nix + ./colorschemes/bamboo.nix ./colorschemes/base16 ./colorschemes/catppuccin.nix ./colorschemes/cyberdream.nix diff --git a/tests/test-sources/plugins/colorschemes/bamboo.nix b/tests/test-sources/plugins/colorschemes/bamboo.nix new file mode 100644 index 00000000..f4dc6bc6 --- /dev/null +++ b/tests/test-sources/plugins/colorschemes/bamboo.nix @@ -0,0 +1,15 @@ +{ + empty = { + colorschemes.bamboo.enable = true; + }; + + defaults = { + colorschemes.bamboo = { + enable = true; + + settings = { + style = "vulgaris"; + }; + }; + }; +}