pojokcodeid.nvim-lazy/lua/custom/plugins/bufferline.lua
2024-03-19 04:55:20 +07:00

167 lines
5.5 KiB
Lua

return {
-- "akinsho/bufferline.nvim",
-- event = "VeryLazy",
-- config = function()
-- local status_ok, bufferline = pcall(require, "bufferline")
-- if not status_ok then
-- return
-- end
--
-- local icons = require("user.icons")
-- local use_icons = true
--
-- -- get folder name from current directory
-- local _get_folder_name = function()
-- local str = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
-- return " 󱧶 " .. str:lower():gsub("^%l", string.upper) .. " "
-- end
--
-- local function diagnostics_indicator(num, _, diagnostics, _)
-- local result = {}
-- local symbols = {
-- error = icons.diagnostics.Error,
-- warning = icons.diagnostics.Warning,
-- info = icons.diagnostics.Information,
-- }
-- if not use_icons then
-- return "(" .. num .. ")"
-- end
-- for name, count in pairs(diagnostics) do
-- if symbols[name] and count > 0 then
-- table.insert(result, symbols[name] .. " " .. count)
-- end
-- end
-- result = table.concat(result, " ")
-- return #result > 0 and result or ""
-- end
--
-- vim.opt.termguicolors = true
--
-- bufferline.setup({
-- options = {
-- color_icons = true,
-- numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
-- close_command = function(bufnum)
-- require("bufdelete").bufdelete(bufnum, true)
-- end,
-- right_mouse_command = function(bufnum)
-- require("bufdelete").bufdelete(bufnum, true)
-- end,
-- -- close_command = "bdelete! %d",
-- -- right_mouse_command = "bdelete! %d",
-- left_mouse_command = "buffer %d",
-- middle_mouse_command = nil,
--
-- indicator_icon = nil,
-- indicator = { style = "icon", icon = "▎" },
-- buffer_close_icon = icons.ui.Close,
-- modified_icon = icons.ui.Circle,
-- close_icon = icons.ui.BoldClose,
-- left_trunc_marker = icons.ui.ArrowCircleLeft,
-- right_trunc_marker = icons.ui.ArrowCircleRight,
-- max_name_length = 30,
-- max_prefix_length = 30,
-- tab_size = 21,
-- diagnostics = false, -- | "nvim_lsp" | "coc",
-- diagnostics_update_in_insert = false,
-- diagnostics_indicator = diagnostics_indicator,
-- offsets = {
-- {
-- filetype = "NvimTree",
-- text = _get_folder_name(),
-- highlight = "Directory",
-- text_align = "left",
-- padding = 1,
-- },
-- {
-- filetype = "neo-tree",
-- text = _get_folder_name(),
-- highlight = "Directory",
-- text_align = "left",
-- padding = 1,
-- },
-- },
-- show_buffer_icons = true,
-- show_buffer_close_icons = true,
-- show_close_icon = true,
-- show_tab_indicators = true,
-- persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
-- separator_style = { "", "" }, -- | "thick" | "thin" | { 'any', 'any' },
-- enforce_regular_tabs = true,
-- always_show_bufferline = true,
-- },
-- highlights = {
-- background = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "none", highlight = "TabLine" },
-- },
-- buffer_visible = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "none", highlight = "TabLine" },
-- },
-- close_button = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "none", highlight = "TabLine" },
-- },
-- close_button_visible = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "none", highlight = "TabLine" },
-- },
-- tab_selected = {
-- fg = { attribute = "fg", highlight = "Normal" },
-- bg = { attribute = "bg", highlight = "Normal" },
-- },
-- tab = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- },
-- tab_close = {
-- -- fg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
-- fg = { attribute = "fg", highlight = "TabLineSel" },
-- bg = { attribute = "bg", highlight = "Normal" },
-- },
-- duplicate_selected = {
-- fg = { attribute = "fg", highlight = "TabLineSel" },
-- bg = { attribute = "bg", highlight = "TabLineSel" },
-- underline = true,
-- },
-- duplicate_visible = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- underline = true,
-- },
-- duplicate = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- underline = true,
-- },
--
-- modified = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- },
-- modified_selected = {
-- fg = { attribute = "fg", highlight = "Normal" },
-- bg = { attribute = "bg", highlight = "Normal" },
-- },
-- modified_visible = {
-- fg = { attribute = "fg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- },
--
-- separator = {
-- fg = { attribute = "bg", highlight = "TabLine" },
-- bg = { attribute = "bg", highlight = "TabLine" },
-- },
-- separator_selected = {
-- fg = { attribute = "bg", highlight = "Normal" },
-- bg = { attribute = "bg", highlight = "Normal" },
-- },
-- indicator_selected = {
-- fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
-- bg = { attribute = "bg", highlight = "Normal" },
-- },
-- },
-- })
-- end,
}