# heirline.nvim **Repository Path**: nvim_lip/heirline.nvim ## Basic Information - **Project Name**: heirline.nvim - **Description**: δ»“εΊ“ mirror: https://github.com/rebelot/heirline.nvim.git - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-18 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

heirline.nvim

The ultimate Neovim Statusline for tinkerers

## About Heirline.nvim is a no-nonsense Neovim plugin made for rendering statusline/winbar/tabline/statuscolumn format strings. It is designed around recursive inheritance to be exceptionally **fast** and **versatile**. Heirline **does not** provide any defaults, in fact, heirline can be thought of as an API to generate Vim status format strings. > **Why another statusline plugin?** Heirline picks up from other popular customizable statusline plugins like [galaxyline](https://github.com/NTBBloodbath/galaxyline.nvim) and [feline](https://github.com/feline-nvim/feline.nvim) but removes all the hard-coded guides and offers you thousands times more freedom. But freedom has a price: responsibility. I don't get to tell you what your statusline should do. You're in charge! With Heirline, you have a framework to easily implement whatever you can imagine, from simple to complex rules!

heirline_prev

## Features: - **Conditionals**: Build custom active/inactive and buftype/filetype/bufname statuslines or single components. - **Highlight propagation**: Seamlessly surround components within separators and/or set the (dynamic) coloring of a bunch of components at once. - **Modularity**: Statusline components can be reutilized/rearranged and will behave according to their position in the genealogical tree. - **Update triggers**: Re-evaluate components only when some condition is met or specific autocommand events are fired. - **Clickable**: Write pure lua callbacks to be executed when clicking a component. - **Dynamic resizing**: Specify how components should resize depending on available space. - **Full control**: You have hooks to fully control the statusline evaluation cycle. Heirline is _not_ for everyone, heirline is for people who like tailoring their own tools (and also like lua): - **No** default statusline is provided - You **must** write your own statusline But don't you worry! Along with the inheritance comes [THE FEATUREFUL COOKBOOK](cookbook.md) πŸ“– of a distant relative. Your dream πŸͺ„ statusline is a copypaste away! ## Installation Use your favorite plugin manager ### Packer ```lua use({ "rebelot/heirline.nvim", -- You can optionally lazy-load heirline on UiEnter -- to make sure all required plugins and colorschemes are loaded before setup -- event = "UiEnter", config = function() require("heirline").setup({...}) end }) ``` ## Setup ```lua require("heirline").setup({ statusline = {...}, winbar = {...}, tabline = {...}, statuscolumn = {...}, }) ``` Calling `setup` will load your statusline(s). To learn how to write a StatusLine, see the [docs](cookbook.md). ### Donate Buy me coffee and support my work ;) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/donate/?business=VNQPHGW4JEM3S&no_recurring=0&item_name=Buy+me+coffee+and+support+my+work+%3B%29¤cy_code=EUR)