`git rev-parse --is-inside-work-tree` does not have a different exit
code when not within a work tree; the difference is in the output,
either "true" when in a work tree, or "false" when not.
The if was modified similarly to the check for the hide-status config,
which also parses command output rather than exit code.
Co-authored-by: Kyle Laker <klaker@easydynamics.com>
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.
* theme/fino: Check rvm-prompt is installed before to try to use it
Signed-off-by: Nick Diego Yamane <nick.diego@gmail.com>
* theme/fino-time: Check rvm-prompt is installed before to try to use it
Signed-off-by: Nick Diego Yamane <nick.diego@gmail.com>
Checking if the terminal supports 256 colors is better suited for
our purpose. Checking if `$DISPLAY` is set doesn't tell us if our
colors will be displayed correctly.
* agnoster: do not hardcode black foreground.
This would allow easy customization when using light color schemes, like
solarized-light
* agnoster: implement light theme variant
Use same variable as in blinks theme, to detect if solarized theme used
is a light or dark one.
The PROMPT building method clashes with other themes and
plugins that modify the PROMPT variable.
Also reverted the $jobstates trick due to it not working
inside $PROMPT.
* agnoster: improve perf with use of $jobstates (zsh/parameter module)
This saves multiple fork/execs (for the subshell and wc) each
time the prompt is rendered
* agnoster: compute git repo_path only when in a git repo
this avoids needlessly invoking git twice every time we render the prompt
* agnoster: avoid subshell when rendering prompt
Rather than forking a subshell to print the prompt, construct it
incrementally by appending to $PROMPT.
v2: fix incorrect CURRENT_BG
v3: fix bzr and hg prompting
Thanks @mcornella for the help.
* Make steef much faster by not printing all history each time
* Use whence -c to expand shell functions as well
* Use $2 (expanded command about to be ran)
* [rkj-repos] Make `hg prompt` check less strict
Move the `hg prompt` check inside the hg_prompt_info function so that
it returns an empty string if hg-prompt isn't installed.
Fixes#6743.
* [rkj-repos] Check for hg in `hg prompt` function
The whitespace in line 13 creates a double whitespace when combined with line 24. Therefore 2 whitespaces appear between ${user_host} and ${current_dir}.
Plugin command-not-found on Arch Linux returns 0 if git or bzr is found in repos, hence outputting unwanted pkgfile output.
Checking if the commands exist first fixes all such issues.