{lib, ...}: let inherit (lib.options) mkEnableOption; inherit (lib.nvim.binds) mkMappingOption; in { options.vim.tabline.nvimBufferline = { enable = mkEnableOption "neovim bufferline"; mappings = { closeCurrent = mkMappingOption "Close buffer" null; cycleNext = mkMappingOption "Next buffer" "bn"; cyclePrevious = mkMappingOption "Previous buffer" "bp"; pick = mkMappingOption "Pick buffer" "bc"; sortByExtension = mkMappingOption "Sort buffers by extension" "bse"; sortByDirectory = mkMappingOption "Sort buffers by directory" "bsd"; sortById = mkMappingOption "Sort buffers by ID" "bsi"; moveNext = mkMappingOption "Move next buffer" "bmn"; movePrevious = mkMappingOption "Move previous buffer" "bmp"; }; }; }