minitab.nvim
Minitab is a minimal lua reimplementaion of the tabline render function with some improvements. It consists of only ~80 lines of code.
Minitab started as a fork of
alvarosevilla95/luatab.nvim
Features
- Hackable text-only rendering
- Size/position of tabs doesn't change while switching tabs
- Minimal file paths are shown
- Smart handling of module files (e.g.
init.lua
=>module/init.lua
)
Example bar
+2 README.md | minitab/init.lua | + [No Name] | ~/docs/src/ | newrw | zsh | TelescopePrompt | help:builtin
The above text demonstrates more or less what to expect from this plugin's default tabline rendering. This example also shows how several special cases for various buffer types are handled.
Install
Using a lazy.nvim
module
return { url = 'https://git.tjkeller.xyz/minitab.nvim', config = true }
Configuration
The plugin calls the helpers.tabline
function to render the line.
It uses the other functions and constants defined in helpers
.
You can pass overrides for any of these in setup
.
See lua/minitab.lua
for details.
Example:
require("minitab").setup{
modifiedC = "*",
separator = function(index)
local sepC = "><"
if index == 0 then
sepC = "<"
elseif index == vim.fn.tabpagenr('$')
sepC = ">"
end
return '%#TabLine#' .. sepC
end,
}