1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
local status_ok, bufferline = pcall(require, "bufferline")
if not status_ok then
print "bufferline init failed"
return
end
bufferline.setup {
options = {
numbers = "ordinal", -- "none" | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
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"
-- NOTE: this plugin is designed with this icon in mind,
-- and so changing this is NOT recommended, this is intended
-- as an escape hatch for people who cannot bear it for whatever reason
indicator = {
style = 'icon',
icon = "▎",
},
buffer_close_icon = "",
-- buffer_close_icon = '',
modified_icon = "●",
close_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 = 30,
max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
tab_size = 21,
diagnostics = true, -- | "nvim_lsp" | "coc",
diagnostics_update_in_insert = false,
-- diagnostics_indicator = function(count, level, diagnostics_dict, context)
-- return "("..count..")"
-- end,
-- NOTE: this will be called a lot so don't do any heavy processing here
-- custom_filter = function(buf_number)
-- -- filter out filetypes you don't want to see
-- if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
-- return true
-- end
-- -- filter out by buffer name
-- if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
-- return true
-- end
-- -- filter out based on arbitrary rules
-- -- e.g. filter out vim wiki buffer from tabline in your work repo
-- if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
-- return true
-- end
-- end,
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
show_buffer_icons = true,
show_buffer_close_icons = true,
show_close_icon = true,
show_tab_indicators = true,
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 = "thin", -- | "thick" | "thin" | { 'any', 'any' },
enforce_regular_tabs = true,
always_show_bufferline = true,
-- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b)
-- -- add custom logic
-- return buffer_a.modified > buffer_b.modified
-- end
},
highlights = {
fill = { fg = "#000000", bg = '#909090'},
buffer_selected = { fg = '#ffffff', bg = '#007070'},
--close_button = { fg = '#0000f0', bg = '#007070'},
--separator = { fg = "#000000", bg = '#00000'},
-- separator_selected = { fg = "#000000", bg = '#000000'},
-- separator_visible = { fg = "#000000", bg = '#000000'},
-- indicator_selected = { fg = "#000000", bg = '#000000'},
-- background = { fg = "#000000", bg = '#000000'},
-- buffer_visible = { fg = "#000000", bg = '#000000'},
-- close_button_visible = { fg = "#000000", bg = '#000000'},
-- close_button_selected = { fg = "#000000", bg = '#000000'},
-- tab_selected = { fg = "#000000", bg = '#000000'},
-- tab = { fg = "#000000", bg = '#000000'},
-- tab_close = { fg = "#000000", bg = '#000000'},
-- duplicate = { fg = "#000000", bg = '#000000'},
-- duplicate_selected = { fg = "#000000", bg = '#000000'},
-- duplicate_visible = { fg = "#000000", bg = '#000000'},
-- modified = { fg = "#000000", bg = '#000000'},
-- modified_selected = { fg = "#000000", bg = '#000000'},
-- modified_visible = { fg = "#000000", bg = '#000000'},
},
}
|