66 lines
2.2 KiB
Lua
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,
|
|
},
|
|
},
|
|
},
|
|
}
|