From a3792ed5fd8e3e89f06879f5d59f85202ab84f2c Mon Sep 17 00:00:00 2001 From: Fovir Date: Wed, 8 Oct 2025 15:20:48 +0800 Subject: [PATCH] plugins/cybu: init --- plugins/by-name/cybu/default.nix | 25 +++++ .../plugins/by-name/cybu/default.nix | 97 +++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 plugins/by-name/cybu/default.nix create mode 100644 tests/test-sources/plugins/by-name/cybu/default.nix diff --git a/plugins/by-name/cybu/default.nix b/plugins/by-name/cybu/default.nix new file mode 100644 index 00000000..9264eafd --- /dev/null +++ b/plugins/by-name/cybu/default.nix @@ -0,0 +1,25 @@ +{ lib, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "cybu"; + package = "cybu-nvim"; + + maintainers = [ lib.maintainers.Fovir ]; + + settingsExample = { + behavior = { + mode = { + default = { + switch = "immediate"; + view = "rolling"; + }; + last_used = { + switch = "on_close"; + update_on = "buf_enter"; + view = "paging"; + }; + }; + }; + display_time = 750; + style.devicons.enabled = false; + }; +} diff --git a/tests/test-sources/plugins/by-name/cybu/default.nix b/tests/test-sources/plugins/by-name/cybu/default.nix new file mode 100644 index 00000000..093cd8de --- /dev/null +++ b/tests/test-sources/plugins/by-name/cybu/default.nix @@ -0,0 +1,97 @@ +{ lib, ... }: +{ + empty = { + plugins.cybu = { + enable = true; + settings.style.devicons.enabled = false; + }; + }; + + example = { + plugins.cybu = { + enable = true; + + settings = { + style.devicons.enabled = false; + behavior = { + mode = { + default = { + switch = "immediate"; + view = "rolling"; + }; + last_used = { + switch = "on_close"; + view = "paging"; + update_on = "buf_enter"; + }; + }; + }; + display_time = 750; + }; + }; + }; + + defaults = { + plugins.cybu = { + enable = true; + + settings = { + position = { + relative_to = "win"; + anchor = "topcenter"; + vertical_offset = 10; + horizontal_offset = 0; + max_win_height = 5; + max_win_width = 0.5; + }; + style = { + path = "relative"; + path_abbreviation = "none"; + border = "rounded"; + separator = " "; + prefix = "…"; + padding = 1; + hide_buffer_id = true; + devicons = { + enabled = false; + colored = true; + truncate = true; + }; + highlights = { + current_buffer = "CybuFocus"; + adjacent_buffers = "CybuAdjacent"; + background = "CybuBackground"; + border = "CybuBorder"; + }; + }; + behavior = { + mode = { + default = { + switch = "immediate"; + view = "rolling"; + }; + last_used = { + switch = "on_close"; + view = "paging"; + update_on = "buf_enter"; + }; + auto = { + view = "rolling"; + }; + }; + show_on_autocmd = false; + }; + display_time = 750; + exclude = [ + "neo-tree" + "fugitive" + "qf" + ]; + filter = { + unlisted = true; + }; + fallback = lib.nixvim.mkRaw "function() end"; + }; + }; + }; +}