github github
star 246
alert-circle 2
open issues
users 5
git-branch 8



23 hours ago


Heirline.nvim is a no-nonsense Neovim Statusline/Winbar plugin designed around recursive inheritance to be exceptionally fast and versatile.

Heirline does not provide any default statusline, in fact, heirline can be thought of as a statusline API.

Why another statusline plugin?

Heirline picks up from other popular customizable statusline plugins like galaxyline and feline but removes all the hard-coded bloat 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 was deigned with these main features in mind:

  • Active/inactive and buftype/filetype/bufname custom statuslines.
  • Modularity: statusline components can be reutilised and will behave according to their position in the genealogical tree.
  • Seamless surrounding and coloring of specific components.

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 📖 of a distant relative. Your dream 🪄 statusline is a copypaste away!


Use your favorite plugin manager

use "rebelot/heirline.nvim"


No defaults, no options, no-nonsense. You choose.

local statusline = {...}
local winbar = {...}
require'heirline'.setup(statusline, winbar)

Calling setup will load your statusline. To learn how to write a StatusLine, see the docs.

Buy me coffee and support my work ;)