much more handsome bufferline

This commit is contained in:
christianchiarulli 2021-07-04 13:30:32 -04:00
parent 49c93a6229
commit fdac614a3b

View file

@ -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