Awesome
githead.yazi
Git status header for yazi inspired by powerlevel10k.
All supported features are listed here
Requirements
- yazi version >= 0.3.0
- Font with symbol support. For example Nerd Fonts.
Installation
ya pack -a llanosrocas/githead
Or manually copy init.lua
to the ~/.config/yazi/plugins/githead.yazi/init.lua
Usage
Add this to your ~/.config/yazi/init.lua
:
require("githead"):setup()
Read more about indicators here.
Optionally, configure header:
require("githead"):setup({
show_branch = true,
branch_prefix = "on",
branch_color = "blue",
branch_symbol = "",
branch_borders = "()",
commit_color = "bright magenta",
commit_symbol = "@",
show_behind_ahead = true,
behind_color = "bright magenta",
behind_symbol = "⇣",
ahead_color = "bright magenta",
ahead_symbol = "⇡",
show_stashes = true,
stashes_color = "bright magenta",
stashes_symbol = "$",
show_state = true,
show_state_prefix = true,
state_color = "red",
state_symbol = "~",
show_staged = true,
staged_color = "bright yellow",
staged_symbol = "+",
show_unstaged = true,
unstaged_color = "bright yellow",
unstaged_symbol = "!",
show_untracked = true,
untracked_color = "blue",
untracked_symbol = "?",
})
Features
- Current branch (or current commit if branch is not presented)
- Behind/Ahead of the remote
- Stashes
- States
- merge
- cherry
- rebase (+ done counter)
- Staged
- Unstaged
- Untracked
Under the hood
The goal is to use minimum amount of shell commands.
git status --ignore-submodules=dirty --branch --show-stash
This command provides information about branches, stashes, staged files, unstaged files, untracked files, and other statistics.