{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" "<leader>bn"; cyclePrevious = mkMappingOption "Previous buffer" "<leader>bp"; pick = mkMappingOption "Pick buffer" "<leader>bc"; sortByExtension = mkMappingOption "Sort buffers by extension" "<leader>bse"; sortByDirectory = mkMappingOption "Sort buffers by directory" "<leader>bsd"; sortById = mkMappingOption "Sort buffers by ID" "<leader>bsi"; moveNext = mkMappingOption "Move next buffer" "<leader>bmn"; movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp"; }; }; }