Headline
Responsive Zsh theme with Git status information and a colorful line above the prompt
Install / Use
/learn @Moarram/HeadlineREADME
Headline
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/slice.png" width="600"/>A stylish Zsh theme with deliberate use of space. Single file. No dependencies. Highly customizable.
<br>Features
Separator Line
The namesake of the prompt, a line above the information with matching colors. May be disabled with HL_SEP_MODE=off for a more compact prompt.
Information Line
<user> @ <host> (<venv>): <path> | <branch> [<status>]
This line collapses to fit within the terminal width. Individually style each segment of the information line using ANSI SGR codes (which are conveniently aliased in the theme file). You can customize nearly everything about the segments and even add your own.
Git Status
A segment with symbols describing the status of the current Git repository.
| Symbol | Meaning |
|--------|------------------|
| + | Staged changes |
| ! | Unstaged changes |
| ? | Untracked files |
| ↓ | Commits behind |
| ↑ | Commits ahead |
| ↕ | Commits diverged |
| * | Stashed files |
| ✘ | Conflicted files |
| (none) | Clean branch |
Installation
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 in Installation
<br>Customization
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/configs.gif" width="600"/>The headline.zsh-theme file describes variables (around line 60) for customizing prompt behavior, colors, styles, symbols, etc. You can edit the theme file directly or set these variables in your ~/.zshrc after sourcing the theme to override the defaults. There are plenty of options so play around and make it your own!
More details in Customization
<br>Terminal Setup
For the continuous line above the prompt, use a font with ligatures such as Fira Code. Alternatively, use the "lower 1/8th block" character instead of underscores with HL_SEP[_LINE]='▁'.
If you want symbols, use a font that has them such as FiraCode Nerd Font and include your desired symbols in HL_CONTENT_TEMPLATE.
More details in Terminal Setup
<br>Screenshots
Screenshots of theme in iTerm2. Using FiraCode Nerd Font for continuous line and fancy icons.
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/theme-light.png" width="600"/>Status showing
+for staged changes,!for unstaged changes, and?for untracked files.
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/theme-beige.png" width="600"/>Optional icons, special font required.
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/theme-brown.png" width="600"/>Path truncated to fit in available space, user and host hidden.
<img src="https://raw.githubusercontent.com/moarram/headline/assets/images/theme-dark.png" width="600"/><br>Options to show clock (
HL_CLOCK_MODE=on), show exit code with meaning (HL_ERR_MODE=detail), and hide identical information (HL_INFO_MODE=auto).
Related
<br>Credits
- Headline's Git status functions are inspired by
git.zshin Oh-My-Zsh's core library. - Thanks to u/romkatv (author of Powerlevel10k) for describing how to calculate prompt display length.
Related Skills
node-connect
331.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
331.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.6kCommit, push, and open a PR
