A dynamic, ASCII-only prompt for multiple Unix shells that displays Git status, virtual environments, and session info with optional color.
Polyglot Prompt is a dynamic command-line prompt for Unix shells that displays essential information like Git branch status, virtual environments, session type (local/remote), and command exit codes using ASCII symbols and optional color. It solves the problem of inconsistent or uninformative prompts across different shell environments by providing a unified, feature-rich prompt that works with Zsh, bash, ksh, dash, and others.
Developers and system administrators who work across multiple Unix shells and want a consistent, informative prompt that integrates Git, virtual environments, and session details without relying on Unicode or complex dependencies.
Developers choose Polyglot Prompt for its exceptional portability across shells, clear ASCII-based design, and comprehensive feature set including Git status, virtual environment detection, and vi-mode indicators—all without requiring external frameworks or Unicode support.
Color, ASCII-only Git prompt for zsh, bash, ksh93, mksh, pdksh, oksh, dash, yash, busybox ash, and osh
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works consistently across Zsh, bash, ksh, dash, and others, as shown in the multi-shell screenshot, ensuring a uniform prompt experience in diverse Unix environments.
Displays branch name and detailed symbols for changes like new files (+), deletions (x), and modifications (!), with configurable untracked file handling via POLYGLOT_SHOW_UNTRACKED.
Automatically shows active environments from virtualenv, venv, pipenv, poetry, and conda at the prompt start, as illustrated in the venv examples, aiding Python developers.
Indicates local vs. remote SSH sessions and displays non-zero exit codes, with superuser handling in reverse video for accuracy, enhancing debugging and context.
Color implementation in pdksh is complex, requiring manual adjustment of non-printing characters and may fail, as admitted in the documentation, with POLYGLOT_PDKSH_COLORS=0 as a fallback.
Lacks an automated installer; users must source scripts and set environment variables for customization, which can be cumbersome compared to framework-integrated prompts.
Git status calculation for untracked files can be slow in massive repositories, forcing users to disable it with POLYGLOT_SHOW_UNTRACKED=0, a trade-off for feature completeness.