pdksh requires non-printing characters as delimiters for color escape sequences. In the past, the Polyglot Prompt has used \021, but that is visible in Windows Terminal, so I have switched to \016.
dash is now recognized correctly when it is the login shell. Props to @ansimita.
The Polyglot Prompt will now display virtual environments created using virtualenv, venv, pipenv, poetry, and conda.
- Git status calculation for untracked files may now be turned off by setting
POLYGLOT_SHOW_UNTRACKED=0. Doing so has the effect of speeding up the prompt display considerably when one is working with extraordinarily large repositories. dashis now correctly recognized when it is a login shell.- The
@sign was not displaying between the username and the hostname in ZSH. This has been corrected.
- Eliminated subshell by combining the
_polyglot_branch_statusand_polyglot_branch_changesfunctions - Exit gracefully if there is no
commandcommand (which is occasionally the case withbusybox ash) zsh- Eliminated subshell when
zshcalculates hostname string - Do not output warnings if
WARN_CREATE_GLOBALorWARN_NESTED_VARhas been set - The
vi-mode indicator will not work with a dumb terminal, so it is disabled when$TERM == dumb
- Eliminated subshell when
- The Polyglot Prompt now loads in
dashwhen it is invoked from ashsymlink - Support for UWIN
busybox ashwas offended bybash's${BASH_VERSINFO[0]}bracketed array syntax. Now using$BASH_VERSIONinstead.
- v1.9.0 had a typo in one
bashprompt string bashv5.0+ now uses\win itsPS1instead of_polyglot_prompt_dirtrim
- Path abbreviation is now handled by a single POSIX-compliant function (
_polyglot_prompt_dirtrim).awkis no longer necessary for any supported shell. - Setting
POLYGLOT_PROMPT_DIRTRIM=0disables path abbreviation (although$HOMEis still displayed as~). - Path abbreviation now works in
bashfor versions below 4.0 (using_polyglot_prompt_dirtrim). $HOMEis not displayed as~when the user isrootand$HOMEis/.gitis run withGIT_OPTIONAL_LOCKS=0, which minimizes file system activity for git v2.15+.basenamehas been replaced with a native shell function.- Escape sequences have been removed from the
dashprompt, as they do not always display correctly.