local buffers = { { 'akinsho/bufferline.nvim', event = 'VeryLazy', keys = { { 'bp', 'BufferLineTogglePin', desc = 'Toggle Pin' }, { 'bP', 'BufferLineGroupClose ungrouped', desc = 'Delete Non-Pinned Buffers' }, { 'bo', 'BufferLineCloseOthers', desc = 'Delete Other Buffers' }, { 'br', 'BufferLineCloseRight', desc = 'Delete Buffers to the Right' }, { 'bl', 'BufferLineCloseLeft', desc = 'Delete Buffers to the Left' }, { '', 'BufferLineCyclePrev', desc = 'Prev Buffer' }, { '', 'BufferLineCycleNext', desc = 'Next Buffer' }, { '[b', 'BufferLineCyclePrev', desc = 'Prev Buffer' }, { ']b', 'BufferLineCycleNext', desc = 'Next Buffer' }, }, opts = { options = { -- stylua: ignore close_command = function(n) require("mini.bufremove").delete(n, false) end, -- stylua: ignore right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end, diagnostics = 'nvim_lsp', always_show_bufferline = false, offsets = { { filetype = 'neo-tree', text = 'Neo-tree', highlight = 'Directory', text_align = 'left', }, }, }, }, config = function(_, opts) require('bufferline').setup(opts) -- Fix bufferline when restoring a session vim.api.nvim_create_autocmd('BufAdd', { callback = function() vim.schedule(function() pcall(nvim_bufferline) end) end, }) end, }, } return buffers