From fdac614a3b959768716fbf748ed2db0ecd231975 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sun, 4 Jul 2021 13:30:32 -0400 Subject: [PATCH] much more handsome bufferline --- lua/lv-bufferline/init.lua | 116 ++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 46 deletions(-) diff --git a/lua/lv-bufferline/init.lua b/lua/lv-bufferline/init.lua index c6c37371..74dbd12f 100644 --- a/lua/lv-bufferline/init.lua +++ b/lua/lv-bufferline/init.lua @@ -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