From 7592797325a2f9c322f6820aee4aa6f129d77309 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 31 Aug 2025 19:25:35 +0300 Subject: [PATCH] nvim-bufferline: fix catppuccin integration Handle breaking changes gracefully for once, ffs Signed-off-by: NotAShelf Change-Id: I6a6a69647fc9d590ec3cb0cee53e4e6ae2f88de5 --- .../tabline/nvim-bufferline/config.nix | 2 +- .../nvim-bufferline/nvim-bufferline.nix | 24 ++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/modules/plugins/tabline/nvim-bufferline/config.nix b/modules/plugins/tabline/nvim-bufferline/config.nix index 965f81f0..250425d3 100644 --- a/modules/plugins/tabline/nvim-bufferline/config.nix +++ b/modules/plugins/tabline/nvim-bufferline/config.nix @@ -15,7 +15,7 @@ in { config = mkIf cfg.enable { vim = { startPlugins = [ - "nvim-bufferline-lua" + "bufferline-nvim" "bufdelete-nvim" ]; diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index ff255c6c..c7490eb6 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -3,7 +3,7 @@ lib, ... }: let - inherit (lib.options) mkOption mkEnableOption literalExpression; + inherit (lib.options) mkOption mkEnableOption literalExpression literalMD; inherit (lib.types) enum bool either nullOr str int listOf attrs; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.binds) mkMappingOption; @@ -24,17 +24,28 @@ in { movePrevious = mkMappingOption "Move previous buffer" "bmp"; }; - setupOpts = mkPluginSetupOption "Bufferline-nvim" { + setupOpts = mkPluginSetupOption "bufferline-nvim" { highlights = mkOption { type = either attrs luaInline; default = if config.vim.theme.enable && config.vim.theme.name == "catppuccin" then - mkLuaInline - '' - require("catppuccin.groups.integrations.bufferline").get() + mkLuaInline '' + (function() + local integration = require("catppuccin.groups.integrations.bufferline") + return (integration.get_theme or integration.get)() + end)() '' else {}; + defaultText = literalMD '' + ```lua + (function() + local integration = require("catppuccin.groups.integrations.bufferline") + return (integration.get_theme or integration.get)() + end)() + ``` + if the active theme is Catppuccin, `{}` otherwise. + ''; description = '' Overrides the highlight groups of bufferline. @@ -59,10 +70,11 @@ in { themable = mkOption { type = bool; default = true; + example = false; description = '' Whether or not to allow highlight groups to be overridden. - While false, bufferline.nvim sets highlights as default. + While `false`, bufferline.nvim sets highlights as default. ''; };