|
@@ -0,0 +1,52 @@
|
|
|
+local M = {}
|
|
|
+
|
|
|
+M.config = function()
|
|
|
+require('bufferline').setup {
|
|
|
+ options = {
|
|
|
+ -- numbers = "none" | "ordinal" | "buffer_id" | "both",
|
|
|
+ -- number_style = "superscript" | "" | { "none", "subscript" }, -- buffer_id at index 1, ordinal at index 2
|
|
|
+ -- mappings = true | false,
|
|
|
+ -- close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
|
|
+ -- right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
|
|
+ -- left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions"
|
|
|
+ middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
|
|
|
+ indicator_icon = '▎',
|
|
|
+ buffer_close_icon = '',
|
|
|
+ modified_icon = '●',
|
|
|
+ close_icon = '',
|
|
|
+ left_trunc_marker = '',
|
|
|
+ right_trunc_marker = '',
|
|
|
+ --- name_formatter can be used to change the buffer's label in the bufferline.
|
|
|
+ --- Please note some names can/will break the
|
|
|
+ --- bufferline so use this at your discretion knowing that it has
|
|
|
+ --- some limitations that will *NOT* be fixed.
|
|
|
+ -- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
|
|
|
+ -- -- remove extension from markdown files for example
|
|
|
+ -- if buf.name:match('%.md') then
|
|
|
+ -- return vim.fn.fnamemodify(buf.name, ':t:r')
|
|
|
+ -- end
|
|
|
+ -- end,
|
|
|
+ max_name_length = 18,
|
|
|
+ max_prefix_length = 15, -- prefix used when a buffer is de-duplicated
|
|
|
+ tab_size = 18,
|
|
|
+ -- diagnostics = "nvim_lsp",
|
|
|
+ offsets = {{filetype = "NvimTree", text = "File Explorer", text_align = "left", padding = 1}},
|
|
|
+ -- show_buffer_icons = true | false, -- disable filetype icons for buffers
|
|
|
+ show_buffer_close_icons = true
|
|
|
+ -- show_close_icon = true | false,
|
|
|
+ -- show_tab_indicators = true | false,
|
|
|
+ -- persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
|
|
+ -- can also be a table containing 2 custom separators
|
|
|
+ -- [focused and unfocused]. eg: { '|', '|' }
|
|
|
+ -- separator_style = "slant" | "thick" | "thin" | { 'any', 'any' },
|
|
|
+ -- enforce_regular_tabs = false | true,
|
|
|
+ -- always_show_bufferline = true | false,
|
|
|
+ -- sort_by = 'extension' | 'relative_directory' | 'directory' | function(buffer_a, buffer_b)
|
|
|
+ -- add custom logic
|
|
|
+ -- return buffer_a.modified > buffer_b.modified
|
|
|
+ -- end
|
|
|
+ }
|
|
|
+}
|
|
|
+end
|
|
|
+
|
|
|
+return M
|