vagrant-prompt.plugin.zsh
711 bytes
1function vagrant_prompt_info() {
2 if [[ ! -d .vagrant || ! -f Vagrantfile ]]; then
3 return
4 fi
5
6 local vm_states vm_state
7 vm_states=(${(f)"$(vagrant status 2> /dev/null | sed -nE 's/^[^ ]* *([[:alnum:] ]*) \([[:alnum:]_]+\)$/\1/p')"})
8 printf '%s' $ZSH_THEME_VAGRANT_PROMPT_PREFIX
9 for vm_state in $vm_states; do
10 case "$vm_state" in
11 running) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING ;;
12 "not running"|poweroff) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_POWEROFF ;;
13 paused|saved|suspended) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUSPENDED ;;
14 "not created") printf '%s' $ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED ;;
15 esac
16 done
17 printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX
18}