2025-10-10 15:11:54 -04:00
|
|
|
--- Bufferline configuration with AstroNvim integration
|
2025-10-23 23:06:06 -04:00
|
|
|
--- Overrides and customizations for bufferline.nvim
|
|
|
|
|
--- Relies on astrocommunity.bars-and-lines.bufferline-nvim for base setup
|
2025-10-10 15:11:54 -04:00
|
|
|
--- @module plugins.bufferline
|
|
|
|
|
|
2025-10-22 10:59:55 -04:00
|
|
|
---@type LazySpec
|
2025-09-19 15:08:14 -04:00
|
|
|
return {
|
|
|
|
|
"akinsho/bufferline.nvim",
|
2025-10-23 23:06:06 -04:00
|
|
|
opts = {
|
|
|
|
|
options = {
|
|
|
|
|
mode = "buffers",
|
|
|
|
|
numbers = "none",
|
|
|
|
|
-- Use AstroCore buffer close handler for proper cleanup
|
|
|
|
|
close_command = function(n) require("astrocore.buffer").close(n) end,
|
|
|
|
|
right_mouse_command = function(n) require("astrocore.buffer").close(n) end,
|
|
|
|
|
separator_style = "thick",
|
|
|
|
|
indicator = { style = "none", icon = "" },
|
|
|
|
|
diagnostics = "nvim_lsp",
|
|
|
|
|
diagnostics_indicator = function(_, _, diagnostics_dict)
|
|
|
|
|
local s = " "
|
|
|
|
|
for e, _ in pairs(diagnostics_dict) do
|
|
|
|
|
local sym = e == "error" and " " or (e == "warning" and " " or " ")
|
|
|
|
|
s = s .. sym
|
|
|
|
|
end
|
|
|
|
|
return s
|
|
|
|
|
end,
|
|
|
|
|
always_show_bufferline = true,
|
|
|
|
|
show_buffer_close_icons = true,
|
|
|
|
|
show_close_icon = true,
|
|
|
|
|
modified_icon = "●",
|
|
|
|
|
buffer_close_icon = "",
|
|
|
|
|
close_icon = "",
|
|
|
|
|
left_trunc_marker = "",
|
|
|
|
|
right_trunc_marker = "",
|
|
|
|
|
-- Offset for snacks picker to prevent overlap
|
|
|
|
|
offsets = {
|
|
|
|
|
{ filetype = "snacks_picker", text = "", padding = 0 },
|
|
|
|
|
{ filetype = "neo-tree", text = "", padding = 0 },
|
2025-09-19 15:08:14 -04:00
|
|
|
},
|
2025-10-23 23:06:06 -04:00
|
|
|
},
|
|
|
|
|
highlights = {
|
|
|
|
|
group_label = { fg = "#ffffff", bg = "#423f5a", bold = true },
|
|
|
|
|
group_separator = { fg = "#585b70" },
|
|
|
|
|
buffer_selected = { fg = "#89dceb", bold = true },
|
|
|
|
|
buffer_visible = { fg = "#585b70" },
|
|
|
|
|
background = { fg = "#585b70" },
|
|
|
|
|
hint = { fg = "#94e2d5" },
|
|
|
|
|
hint_selected = { fg = "#94e2d5", bold = true },
|
|
|
|
|
warning = { fg = "#f9e2af" },
|
|
|
|
|
warning_selected = { fg = "#f9e2af", bold = true },
|
|
|
|
|
error = { fg = "#f38ba8" },
|
|
|
|
|
error_selected = { fg = "#f38ba8", bold = true },
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-09-19 15:08:14 -04:00
|
|
|
}
|