---@type table local opts = { options = { mode = "buffers", themable = true, numbers = "buffer_id", -- Mouse actions close_command = function(bufnum) require("snacks").bufdelete(bufnum) end, right_mouse_command = false, left_mouse_command = "buffer %d", middle_mouse_command = function(bufnum) require("snacks").bufdelete(bufnum) end, indicator = { icon = "▎" }, buffer_close_icon = "", modified_icon = "● ", close_icon = " ", left_trunc_marker = " ", right_trunc_marker = " ", max_name_length = 18, max_prefix_length = 15, truncate_names = true, tab_size = 18, diagnostics = "nvim_lsp", diagnostics_update_on_event = true, diagnostics_indicator = function(count, level, diagnostics_dict, context) return "(" .. count .. ")" end, custom_filter = function(buf_number, buf_numbers) if buf_numbers[1] ~= buf_number then return true end end, offsets = { { filetype = "NvimTree", text = "File Explorer", text_align = "left", separator = true, }, }, color_icons = true, get_element_icon = function(element) local icon, hl = require("nvim-web-devicons").get_icon_by_filetype(element.filetype, { default = false }) return icon, hl end, show_buffer_icons = true, show_buffer_close_icons = true, show_close_icon = true, show_tab_indicators = true, show_duplicate_prefix = true, duplicates_across_groups = true, persist_buffer_sort = true, move_wraps_at_ends = false, separator_style = "thick", enforce_regular_tabs = false, always_show_bufferline = true, auto_toggle_bufferline = true, hover = { enabled = true, delay = 200, reveal = { "close" }, }, sort_by = "insert_after_current", pick = { alphabet = "abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ1234567890", }, }, } return opts