Explorar o código

much more handsome bufferline

christianchiarulli %!s(int64=4) %!d(string=hai) anos
pai
achega
fdac614a3b
Modificáronse 1 ficheiros con 70 adicións e 46 borrados
  1. 70 46
      lua/lv-bufferline/init.lua

+ 70 - 46
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