prompt_info_functions.zsh
1478 bytes
1# *_prompt_info functions for usage in your prompt
2#
3# Plugin creators, please add your *_prompt_info function to the list
4# of dummy implementations to help theme creators not receiving errors
5# without the need of implementing conditional clauses.
6#
7# See also lib/bzr.zsh, lib/git.zsh and lib/nvm.zsh for
8# git_prompt_info, bzr_prompt_info and nvm_prompt_info
9
10# Dummy implementations that return false to prevent command_not_found
11# errors with themes, that implement these functions
12# Real implementations will be used when the respective plugins are loaded
13function chruby_prompt_info \
14 rbenv_prompt_info \
15 hg_prompt_info \
16 pyenv_prompt_info \
17 svn_prompt_info \
18 vi_mode_prompt_info \
19 virtualenv_prompt_info \
20 jenv_prompt_info \
21 azure_prompt_info \
22 tf_prompt_info \
23 conda_prompt_info \
24{
25 return 1
26}
27
28# oh-my-zsh supports an rvm prompt by default
29# get the name of the rvm ruby version
30function rvm_prompt_info() {
31 [ -f $HOME/.rvm/bin/rvm-prompt ] || return 1
32 local rvm_prompt
33 rvm_prompt=$($HOME/.rvm/bin/rvm-prompt ${=ZSH_THEME_RVM_PROMPT_OPTIONS} 2>/dev/null)
34 [[ -z "${rvm_prompt}" ]] && return 1
35 echo "${ZSH_THEME_RUBY_PROMPT_PREFIX}${rvm_prompt:gs/%/%%}${ZSH_THEME_RUBY_PROMPT_SUFFIX}"
36}
37
38ZSH_THEME_RVM_PROMPT_OPTIONS="i v g"
39
40
41# use this to enable users to see their ruby version, no matter which
42# version management system they use
43function ruby_prompt_info() {
44 echo "$(rvm_prompt_info || rbenv_prompt_info || chruby_prompt_info)"
45}