Headline. A stylish theme with deliberate use of space. No dependencies. Easily customizable.
A line above the prompt info text with matching colors. May be disabled with HEADLINE_LINE_MODE=off
for a more compact prompt.
<user> @ <host>: <path> | <branch> [<status>]
This line is responsive, meaning it won't overflow when it gets too long. Individually style each segment of the information line using ANSI SGR codes (which are conveniently aliased in the theme file). You can customize the characters for joining segments and disable segments entirely.
All the Git status symbols are customizable. The defaults are below:
Symbol | Meaning |
---|---|
+ |
staged changes |
! |
unstaged changes |
? |
untracked files |
↓ |
commits behind |
↑ |
commits ahead |
↕ |
commits diverged |
* |
stashed files |
✘ |
conflicts |
(none) | clean branch |
Download the headline.zsh-theme
file.
wget https://raw.githubusercontent.com/moarram/headline/main/headline.zsh-theme
In your ~/.zshrc
, source the headline.zsh-theme
file.
source your/path/to/headline.zsh-theme
More details on the wiki page: Installation
The headline.zsh-theme
file describes variables (around line 70) for customizing prompt behavior, colors, styles, symbols, etc. Set these variables in your ~/.zshrc
after sourcing the theme to override the defaults. Play around with it and make it your own!
More details on the wiki page: Customization
For the continuous line above the prompt, use a font with ligatures such as Fira Code.
If you want symbols, use a font that has them such as FiraCode Nerd Font and assign your desired symbols to the prefix variables.
More details on the wiki page: Terminal Setup
Screenshots of theme in iTerm2. Using FiraCode Nerd Font for continuous line and fancy icons.
Status showing
+
for staged changes,!
for unstaged changes, and?
for untracked files (configurable).
Optional icons, special font needed.
Path truncated to fit in available space, user and host hidden.
- Headline's Git status functions borrow code from
git.zsh
in Oh-My-Zsh's core library. - Thanks to u/romkatv (author of Powerlevel10k) for the Reddit post describing how to calculate prompt string display length.