Files
dotfiles/.config/nvim/lua/plugins/bufferline.lua
T

66 lines
2.2 KiB
Lua

return {
"akinsho/bufferline.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
version = "*",
opts = {
options = {
mode = "buffer",
separator_style = "slant",
diagnostics = "nvim_lsp",
-- diagnostics_indicator = function(count, level, diagnostics_dict, context)
-- local s = " "
-- for e, n in pairs(diagnostics_dict) do
-- local sym = e == "error" and " " or (e == "warning" and " " or " ")
-- s = s .. n .. sym
-- end
-- return s
-- end,
always_show_bufferline = false,
show_tab_indicators = false,
color_icons = true,
show_buffer_icons = true,
persist_buffer_sort = true,
indicator = {
style = "underline",
},
offsets = {
{
filetype = "NvimTree",
text = function()
return vim.fn.getcwd()
end,
highlight = "Directory",
separator = true,
},
},
custom_areas = {
right = function()
local result = {}
local seve = vim.diagnostic.severity
local error = #vim.diagnostic.get(0, { severity = seve.ERROR })
local warning = #vim.diagnostic.get(0, { severity = seve.WARN })
local info = #vim.diagnostic.get(0, { severity = seve.INFO })
local hint = #vim.diagnostic.get(0, { severity = seve.HINT })
if error ~= 0 then
table.insert(result, { text = "" .. error, link = "DiagnosticError" })
end
if warning ~= 0 then
table.insert(result, { text = "" .. warning, link = "DiagnosticWarn" })
end
if hint ~= 0 then
table.insert(result, { text = "" .. hint, link = "DiagnosticHint" })
end
if info ~= 0 then
table.insert(result, { text = "" .. info, link = "DiagnosticInfo" })
end
return result
end,
},
},
},
}