Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rebelot/heirline.nvim
Heirline.nvim is a no-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile.
https://github.com/rebelot/heirline.nvim
neovim statusline statusline-manager
Last synced: about 2 months ago
JSON representation
Heirline.nvim is a no-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile.
- Host: GitHub
- URL: https://github.com/rebelot/heirline.nvim
- Owner: rebelot
- License: mit
- Created: 2022-01-01T15:50:03.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T09:33:15.000Z (4 months ago)
- Last Synced: 2024-06-25T05:05:28.007Z (3 months ago)
- Topics: neovim, statusline, statusline-manager
- Language: Lua
- Homepage:
- Size: 1.32 MB
- Stars: 961
- Watchers: 12
- Forks: 39
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - rebelot/heirline.nvim - Heirline.nvim is a no-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile. (Bars and Lines / Statusline)
- my-awesome-github-stars - rebelot/heirline.nvim - Heirline.nvim is a no-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile. (Lua)
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!
## 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 statuslineBut 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)