A Zsh prompt that displays detailed Git repository status including branch, remote tracking, staged files, and changes.
zsh-git-prompt is a Zsh shell extension that enhances the terminal prompt with detailed Git repository status information. It displays the current branch, remote tracking differences, and counts of staged, changed, and untracked files directly in the prompt. This eliminates the need to manually run Git status commands to understand the repository state.
Developers using Zsh who work frequently with Git repositories and want immediate visibility into their repository status without leaving the terminal. It's particularly useful for those managing complex branching workflows or multiple simultaneous changes.
It provides a comprehensive, at-a-glance view of Git status that's more detailed than most built-in prompts, with customizable symbols and optional performance optimization through a Haskell implementation. The project is lightweight, integrates seamlessly with existing Zsh configurations, and improves developer workflow efficiency.
Informative git prompt for zsh
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Shows branch name, remote ahead/behind counts, and specific file statuses like staged, changed, and untracked, providing immediate repository insights without extra commands.
Allows modification of symbols and layout through Zsh variables, enabling users to tailor the prompt's look and information order to their preferences.
Haskell implementation reduces Git calls to once per prompt update, making it significantly faster, especially in large repositories, as noted in the README.
Requires cloning the repository, sourcing scripts in .zshrc, and potentially editing configuration files, lacking a simple one-command installation method.
Exclusively designed for Zsh, making it unusable with other shells and limiting portability for users in mixed shell environments.
For optimal performance, users must install and maintain Haskell stack, adding an extra layer of setup and potential maintenance overhead.