If hide-dirty is set, parse_git_dirty will not check the directory's
status. Rather than coloring the git-status portion of the prompt green
(which typically indicates a clean working directory) we color this
portion of the prompt white to reflect the lack of information.
$dirty will be empty if parse_git_dirty returns a clean result - which
may happen because the working directory is clean or because a
configuration has been set (e.g., oh-my-zsh.hide-dirty) which disables
the check. In either event, we should respect the former check and avoid
querying for a dirty working directory a second time.
Also add comments and unset leftover variables, and print only the
name of the theme loaded.
When looking for $ZSH_CUSTOM themes, the chosen algorithm is to add
the theme names to the pool disregarding the path, and then source
whatever theme is selected with the same logic as the init script,
which is to source first custom themes even if there is another
default theme of the same name.
Co-authored-by: Mihai Serban <mihai.serban@gmail.com>
The statements for selecting a random theme in oh-my-zsh.sh and the themes
plugin are duplicate. Most people eventually settle on a theme, making those
lines in oh-my-zsh.sh superfluous. To address those, it may makes sense to put
the random theme functionality into a theme of its own (since themes are just
zsh scripts.
Fix issue related to #7615, #7747 and #6346
After the update, aws prompt (which should be visible out of the box) disappears when a user uses a theme af-magic, because of fact that plugins are loaded before themes.
This pull request fixes issue with not showing aws prompt in theme af-magic, by appending RPROMPT in theme af-magic instead overwriting.
Use add-zsh-hook to add functions to hooks. That way they won't be added again
when doing `source ~/.zshrc` multiple times.
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
- Add mercurial support to af-magic, so now the vcs prompt will show up in either a git or hg repository
- The virtualenv prompt was white and bumped up against the user@hostname output
- Fixed that so its green (which I thought highlighted it more thematically) and has a space before user@hostname
Changes themes displaying RVM or other Ruby version info to use the central
ruby_prompt_info function. This supports more Ruby versioning mechanisms,
reduces copy-and-paste code, and avoids "zsh: no such file or directory: rvm-prompt"
when run on machines that do not have RVM installed.
Changes the prefix/suffix variable names to ZSH_THEME_RUBY_PROMPT_PREFIX and
ZSH_THEME_RUBY_PROMPT_SUFFIX, since they apply to all Ruby versioning mechanisms,
not just RVM.
Allows empty ZSH_THEME_RUBY_PROMPT_PREFIX and ZSH_THEME_RUBY_PROMPT_SUFFIX.
This fixes the RPROMPT setting for fishy theme so as to preserve its old value,
instead of overwriting it like it did before.
Also, fix unnecessary export of RPROMPT in aws plugin.
%_ is a prompt expansion sequence that expands to the status of the parser.
This means that on window resize, the status of the execution of the
window resize hook (TRAPWINCH) would be displayed while reloading the
prompt line. This looked like cmdand cursh$ or then$ depending on the
body of the TRAPWINCH function.
Fixes#7262
This commit fixes the runtime error that says:
prompt_status:2: symbols: attempt to assign array value to non-array
It trips over a local array which is not properly declared.
This PR fixes the runtime error that displays this:
```log
prompt_status:2: symbols: attempt to assign array value to non-array
```.
It trips over a local array which is not properly declared.