|
@@ -1,52 +1,76 @@
|
|
|
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
|
|
|
- }
|
|
|
-}
|
|
|
+
|
|
|
+ -- Buffer line setup
|
|
|
+ require'bufferline'.setup {
|
|
|
+ options = {
|
|
|
+ indicator_icon = '▎',
|
|
|
+ buffer_close_icon = '',
|
|
|
+ modified_icon = '●',
|
|
|
+ close_icon = '',
|
|
|
+ close_command = "Bdelete %d",
|
|
|
+ right_mouse_command = "Bdelete! %d",
|
|
|
+ left_trunc_marker = '',
|
|
|
+ right_trunc_marker = '',
|
|
|
+ offsets = {
|
|
|
+ {
|
|
|
+ filetype = "NvimTree",
|
|
|
+ text = "EXPLORER",
|
|
|
+ text_align = "center",
|
|
|
+ padding = 1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ show_tab_indicators = true,
|
|
|
+ show_close_icon = false
|
|
|
+ },
|
|
|
+ highlights = {
|
|
|
+ fill = {
|
|
|
+ guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ guibg = {attribute = "bg", highlight = "StatusLineNC"}
|
|
|
+ },
|
|
|
+ -- background = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
|
|
|
+ -- },
|
|
|
+ -- buffer_visible = {
|
|
|
+ -- gui = "",
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "Normal"}
|
|
|
+ -- },
|
|
|
+ -- buffer_selected = {
|
|
|
+ -- gui = "",
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "Normal"}
|
|
|
+ -- },
|
|
|
+ -- separator = {
|
|
|
+ -- guifg = {attribute = "bg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
|
|
|
+ -- },
|
|
|
+ -- separator_selected = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Special"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "Normal"}
|
|
|
+ -- },
|
|
|
+ -- separator_visible = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "StatusLineNC"}
|
|
|
+ -- },
|
|
|
+ -- close_button = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "Normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "StatusLine"}
|
|
|
+ -- },
|
|
|
+ -- close_button_selected = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "normal"}
|
|
|
+ -- },
|
|
|
+ -- close_button_visible = {
|
|
|
+ -- guifg = {attribute = "fg", highlight = "normal"},
|
|
|
+ -- guibg = {attribute = "bg", highlight = "normal"}
|
|
|
+ -- }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
end
|
|
|
|
|
|
return M
|