Parent directory

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}