return {
	"akinsho/bufferline.nvim",
	version = "*",
	dependencies = "nvim-tree/nvim-web-devicons",
	opts = function()
		require("bufferline").setup({
			options = {
				custom_areas = {
					left = function()
						return vim.tbl_map(function(item)
							return { text = item }
						end, require("edgy-group.stl").get_statusline("left"))
					end,
				},
			},
		})
		local Offset = require("bufferline.offset")
		if not Offset.edgy then
			local get = Offset.get
			Offset.get = function()
				if package.loaded.edgy then
					local layout = require("edgy.config").layout
					local ret = { left = "", left_size = 0, right = "", right_size = 0 }
					for _, pos in ipairs({ "left", "right" }) do
						local sb = layout[pos]
						if sb and #sb.wins > 0 then
							-- local title = " Sidebar" .. string.rep(" ", sb.bounds.width - 8)
							local title = string.rep(" ", sb.bounds.width)
							ret[pos] = "%#EdgyTitle#" .. title .. "%*" .. "%#WinSeparator#│%*"
							ret[pos .. "_size"] = sb.bounds.width
						end
					end
					ret.total_size = ret.left_size + ret.right_size
					if ret.total_size > 0 then
						return ret
					end
				end
				return get()
			end
			Offset.edgy = true
		end
	end,

	config = function()
		vim.opt.termguicolors = true
		require("bufferline").setup({
			options = {
				-- separator_style = "slant",
				-- 	style_preset = bufferline.style_preset.no_italic,
				diagnostics = "nvim_lsp",
				diagnostics_indicator = function(count, level)
					local icon = level:match("error") and " " or ""
					return " " .. icon .. count
				end,
			},
		})
		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,
}
