81 lines
2.8 KiB
Lua
81 lines
2.8 KiB
Lua
--- @type LazyPluginSpec
|
||
return {
|
||
"akinsho/bufferline.nvim",
|
||
version = "*",
|
||
dependencies = "nvim-tree/nvim-web-devicons",
|
||
config = function()
|
||
vim.keymap.set("n", "<leader><Tab>", ":BufferLineCycleNext <CR>", { silent = true, desc = "Cycle tabs" })
|
||
vim.keymap.set("n", "<leader>bn", ":BufferLineCycleNext <CR>", { silent = true, desc = "Next tab" })
|
||
vim.keymap.set("n", "<leader>bp", ":BufferLineCyclePrev <CR>", { silent = true, desc = "NextPrevious tab" })
|
||
|
||
local bufferline = require("bufferline")
|
||
|
||
bufferline.setup({
|
||
options = {
|
||
mode = "buffers",
|
||
style_preset = bufferline.style_preset.default,
|
||
themable = true,
|
||
numbers = "none",
|
||
indicator = {
|
||
icon = "⏽",
|
||
style = "icon",
|
||
},
|
||
show_buffer_close_icons = false,
|
||
show_close_icon = false,
|
||
max_name_length = 18,
|
||
max_prefix_length = 15,
|
||
truncate_names = true,
|
||
tab_size = 18,
|
||
offsets = {
|
||
{
|
||
filetype = "NvimTree",
|
||
text = "File Explorer",
|
||
highlight = "None",
|
||
padding = 1,
|
||
},
|
||
},
|
||
color_icons = true,
|
||
get_element_icon = function(element)
|
||
local icon, hl =
|
||
require("nvim-web-devicons").get_icon_by_filetype(element.filetype, { default = false })
|
||
return icon, hl
|
||
end,
|
||
always_show_bufferline = true,
|
||
diagnostics = "nvim_lsp",
|
||
diagnostics_update_in_insert = false,
|
||
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||
if context.buffer:current() then
|
||
return ""
|
||
end
|
||
|
||
return ""
|
||
end,
|
||
highlights = {
|
||
background = {
|
||
guibg = "None",
|
||
},
|
||
fill = {
|
||
guibg = "None",
|
||
},
|
||
close_button = {
|
||
guibg = "None",
|
||
},
|
||
separator_visible = {
|
||
guibg = "None",
|
||
},
|
||
tab_close = {
|
||
guibg = "None",
|
||
},
|
||
},
|
||
},
|
||
})
|
||
|
||
vim.g.transparent_groups = vim.list_extend(
|
||
vim.g.transparent_groups or {},
|
||
vim.tbl_map(function(v)
|
||
return v.hl_group
|
||
end, vim.tbl_values(require("bufferline.config").highlights))
|
||
)
|
||
end,
|
||
}
|