| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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,
- }
|