-- Ensure bufferline configuration exists local bufferline = vim.g.bufferline or {} -- Enable/disable animations bufferline.animation = true -- Enable/disable auto-hiding the tab bar when there is a single buffer -- bufferline.auto_hide = false -- Enable/disable current/total tabpages indicator (top right corner) bufferline.tabpages = true -- Enable/disable close button bufferline.closable = true -- Enable/disable clickable tabs -- - left-click: go to buffer -- - middle-click: delete buffer bufferline.clickable = true -- Exclude buffers from the tabline -- bufferline.exclude_ft = { 'javascript' } -- bufferline.exclude_name = { 'package.json' } -- Enable/disable icons -- Options: 'buffer_number', 'numbers', 'both', 'buffer_number_with_icon' bufferline.icons = true -- Use nvim-web-devicons colors if false bufferline.icon_custom_colors = false -- Configure icons on the bufferline bufferline.icon_separator_active = '▎' bufferline.icon_separator_inactive = '▎' bufferline.icon_close_tab = '' bufferline.icon_close_tab_modified = '●' bufferline.icon_pinned = '車' -- Configure buffer insertion position bufferline.insert_at_start = false bufferline.insert_at_end = false -- Set maximum padding width bufferline.maximum_padding = 4 -- Set maximum buffer name length bufferline.maximum_length = 30 -- Enable semantic letters for buffer-pick mode bufferline.semantic_letters = true -- Define buffer letters order for buffer-pick mode bufferline.letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP' -- Set name for unnamed buffers bufferline.no_name_title = nil -- Mappings vim.keymap.set('n', '', 'BufferPrevious', { silent = true }) vim.keymap.set('n', '', 'BufferNext', { silent = true }) vim.keymap.set('n', '', 'BufferMovePrevious', { silent = true }) vim.keymap.set('n', '>', 'BufferMoveNext', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 1', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 2', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 3', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 4', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 5', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 6', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 7', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 8', { silent = true }) vim.keymap.set('n', '', 'BufferGoto 9', { silent = true }) vim.keymap.set('n', '', 'BufferLast', { silent = true }) vim.keymap.set('n', '', 'BufferPin', { silent = true }) vim.keymap.set('n', '', 'BufferClose', { silent = true }) vim.keymap.set('n', '', 'BufferPick', { silent = true }) vim.keymap.set('n', 'bb', 'BufferOrderByBufferNumber', { silent = true }) vim.keymap.set('n', 'bd', 'BufferOrderByDirectory', { silent = true }) vim.keymap.set('n', 'bl', 'BufferOrderByLanguage', { silent = true }) vim.keymap.set('n', 'bw', 'BufferOrderByWindowNumber', { silent = true })