A user-friendly Neovim framework for building custom tablines with minimal Lua code.
tabline-framework.nvim is a flexible Neovim plugin that simplifies creating custom tablines. It provides a declarative API for building tablines that display tabs, buffers, file icons, LSP diagnostics, and custom styling without requiring deep knowledge of Neovim's tabline internals.
Neovim users who want to customize their tabline or buffer line with minimal Lua knowledge, including those who prefer vim tabs, buffer-lines, or even an extra status line.
Developers choose this plugin because it offers a simple, expressive framework that abstracts away low-level implementation details, allowing them to design their ideal tabline in just a few lines of code with built-in helpers for icons, diagnostics, and styling.
User-friendly framework for building your dream tabline in a few lines of code.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a simple render function API that abstracts low-level tabline internals, allowing users to define custom tablines in just a few lines of Lua code, as shown in the minimal example.
Leverages nvim-web-devicons to automatically fetch filetype-specific icons and colors, enhancing visual appeal without manual configuration, demonstrated in the example with icon and icon_color helpers.
Easily incorporates error and warning counts from Neovim's diagnostic API directly into the tabline, with examples showing how to display diagnostic indicators on the right side.
Offers fine-grained control over colors, highlights, and GUI attributes for individual elements using functions like set_fg and set_bg, enabling custom themes like diagonal_tiles.
The buffer grouping mechanism is explicitly warned as 'not good enough for real usage' in the README, restricting advanced buffer management features out of the box.
Requires nvim-web-devicons for icon functionality, adding an extra dependency that might not be desirable in minimal Neovim setups or for users avoiding additional plugins.
Lacks out-of-the-box themes or presets, forcing users to design their tabline from scratch with Lua code, which can be time-consuming compared to drop-in solutions.