diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index d507a5bd..d7203b7b 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -3,6 +3,11 @@ -- -- See the kickstart.nvim README for more information return { - + { + 'mbbill/undotree', + keys = { + { "U", "UndotreeToggle", desc = "Undotree Toggle" }, + }, + } } diff --git a/lua/custom/plugins/tabs.lua b/lua/custom/plugins/tabs.lua index 98b9c875..7a016d9f 100644 --- a/lua/custom/plugins/tabs.lua +++ b/lua/custom/plugins/tabs.lua @@ -54,4 +54,100 @@ return { map('n', 'bl', 'BufferOrderByLanguage', opts) map('n', 'bw', 'BufferOrderByWindowNumber', opts) end, + opts = { + -- Enable/disable animations + animation = true, + + -- Enable/disable auto-hiding the tab bar when there is a single buffer + auto_hide = false, + + -- Enable/disable current/total tabpages indicator (top right corner) + tabpages = true, + + -- Enable/disable close button + closable = true, + + -- Enables/disable clickable tabs + -- - left-click: go to buffer + -- - middle-click: delete buffer + clickable = true, + + -- Enables / disables diagnostic symbols + diagnostics = { + -- you can use a list + { enabled = true, icon = 'ff' }, -- ERROR + { enabled = false }, -- WARN + { enabled = false }, -- INFO + { enabled = true }, -- HINT + + -- OR `vim.diagnostic.severity` + [vim.diagnostic.severity.ERROR] = { enabled = true, icon = 'ff' }, + [vim.diagnostic.severity.WARN] = { enabled = false }, + [vim.diagnostic.severity.INFO] = { enabled = false }, + [vim.diagnostic.severity.HINT] = { enabled = true }, + }, + + -- Excludes buffers from the tabline + exclude_ft = { 'javascript' }, + exclude_name = { 'package.json' }, + + -- Hide inactive buffers and file extensions. Other options are `alternate`, `current`, and `visible`. + hide = { extensions = true, inactive = true }, + + -- Disable highlighting alternate buffers + highlight_alternate = false, + + -- Disable highlighting file icons in inactive buffers + highlight_inactive_file_icons = false, + + -- Enable highlighting visible buffers + highlight_visible = true, + + -- Enable/disable icons + -- if set to 'numbers', will show buffer index in the tabline + -- if set to 'both', will show buffer index and icons in the tabline + icons = true, + + -- If set, the icon color will follow its corresponding buffer + -- highlight group. By default, the Buffer*Icon group is linked to the + -- Buffer* group (see Highlighting below). Otherwise, it will take its + -- default value as defined by devicons. + icon_custom_colors = false, + + -- Configure icons on the bufferline. + icon_separator_active = '▎', + icon_separator_inactive = '▎', + icon_close_tab = '', + icon_close_tab_modified = '●', + icon_pinned = '車', + + -- If true, new buffers will be inserted at the start/end of the list. + -- Default is to insert after current buffer. + insert_at_end = false, + insert_at_start = false, + + -- Sets the maximum padding width with which to surround each tab + maximum_padding = 1, + + -- Sets the minimum padding width with which to surround each tab + minimum_padding = 1, + + -- Sets the maximum buffer name length. + maximum_length = 30, + + -- If set, the letters for each buffer in buffer-pick mode will be + -- assigned based on their name. Otherwise or in case all letters are + -- already assigned, the behavior is to assign letters in order of + -- usability (see order below) + semantic_letters = true, + + -- New buffer letters are assigned in this order. This order is + -- optimal for the qwerty keyboard layout but might need adjustement + -- for other layouts. + letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP', + + -- Sets the name of unnamed buffers. By default format is "[Buffer X]" + -- where X is the buffer number. But only a static string is accepted here. + no_name_title = nil, + } }