From 4b95ae106c832bea347ad2bd53f2c40d880f0d27 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 20 Dec 2025 01:50:15 +0800 Subject: [PATCH] bufferline.nvim: fix hover behavior (#1297) Enable `mousemoveevent` vim option if `setupOpts.options.hover` is enabled, as required by the plugin. --- docs/manual/release-notes.md | 1 + docs/manual/release-notes/rl-0.9.md | 8 ++++++ .../tabline/nvim-bufferline/config.nix | 26 ++++++++++++++++--- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 docs/manual/release-notes/rl-0.9.md diff --git a/docs/manual/release-notes.md b/docs/manual/release-notes.md index 296b20b1..ddb53883 100644 --- a/docs/manual/release-notes.md +++ b/docs/manual/release-notes.md @@ -12,4 +12,5 @@ release-notes/rl-0.5.md release-notes/rl-0.6.md release-notes/rl-0.7.md release-notes/rl-0.8.md +release-notes/rl-0.9.md ``` diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md new file mode 100644 index 00000000..8e804d6d --- /dev/null +++ b/docs/manual/release-notes/rl-0.9.md @@ -0,0 +1,8 @@ +# Release 0.9 {#sec-release-0-9} + +## Changelog {#sec-release-0-9-changelog} + + +[suimong](https://github.com/suimong): + +- Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires `vim.opt.mousemoveevent` to be set. diff --git a/modules/plugins/tabline/nvim-bufferline/config.nix b/modules/plugins/tabline/nvim-bufferline/config.nix index 396e6886..b3285537 100644 --- a/modules/plugins/tabline/nvim-bufferline/config.nix +++ b/modules/plugins/tabline/nvim-bufferline/config.nix @@ -24,15 +24,33 @@ in { # Recommended by upstream, so enabled here. visuals.nvim-web-devicons.enable = true; + # See `:help bufferline-hover-events` + options = mkIf cfg.setupOpts.options.hover.enabled { + mousemoveevent = true; + }; + maps.normal = mkMerge [ - (mkLuaBinding cfg.mappings.closeCurrent "require(\"bufdelete\").bufdelete" mappings.closeCurrent.description) + ( + mkLuaBinding cfg.mappings.closeCurrent "require(\"bufdelete\").bufdelete" + mappings.closeCurrent.description + ) (mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext" mappings.cycleNext.description) (mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext" mappings.cycleNext.description) (mkBinding cfg.mappings.cyclePrevious ":BufferLineCyclePrev" mappings.cyclePrevious.description) (mkBinding cfg.mappings.pick ":BufferLinePick" mappings.pick.description) - (mkBinding cfg.mappings.sortByExtension ":BufferLineSortByExtension" mappings.sortByExtension.description) - (mkBinding cfg.mappings.sortByDirectory ":BufferLineSortByDirectory" mappings.sortByDirectory.description) - (mkLuaBinding cfg.mappings.sortById "function() require(\"bufferline\").sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end) end" mappings.sortById.description) + ( + mkBinding cfg.mappings.sortByExtension ":BufferLineSortByExtension" + mappings.sortByExtension.description + ) + ( + mkBinding cfg.mappings.sortByDirectory ":BufferLineSortByDirectory" + mappings.sortByDirectory.description + ) + ( + mkLuaBinding cfg.mappings.sortById + "function() require(\"bufferline\").sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end) end" + mappings.sortById.description + ) (mkBinding cfg.mappings.moveNext ":BufferLineMoveNext" mappings.moveNext.description) (mkBinding cfg.mappings.movePrevious ":BufferLineMovePrev" mappings.movePrevious.description) ];