fix(vagrant-prompt): make `vagrant_prompt_info` generic for any state (#12782)
parent
68d189cb35
commit
fa64758aea
2 changed files with 37 additions and 16 deletions
@ -1,16 +1,18 @@ |
||||
function vagrant_prompt_info() { |
||||
local vm_states vm_state |
||||
if [[ -d .vagrant && -f Vagrantfile ]]; then |
||||
vm_states=(${(f)"$(vagrant status 2> /dev/null | sed -nE 's/^.*(saved|poweroff|running|not created) \([[:alnum:]_]+\)$/\1/p')"}) |
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_PREFIX |
||||
for vm_state in $vm_states; do |
||||
case "$vm_state" in |
||||
saved) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUSPENDED ;; |
||||
running) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING ;; |
||||
poweroff) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_POWEROFF ;; |
||||
"not created") printf '%s' $ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED ;; |
||||
esac |
||||
done |
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX |
||||
if [[ ! -d .vagrant || ! -f Vagrantfile ]]; then |
||||
return |
||||
fi |
||||
|
||||
local vm_states vm_state |
||||
vm_states=(${(f)"$(vagrant status 2> /dev/null | sed -nE 's/^[^ ]* *([[:alnum:] ]*) \([[:alnum:]_]+\)$/\1/p')"}) |
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_PREFIX |
||||
for vm_state in $vm_states; do |
||||
case "$vm_state" in |
||||
running) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING ;; |
||||
"not running"|poweroff) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_POWEROFF ;; |
||||
paused|saved|suspended) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUSPENDED ;; |
||||
"not created") printf '%s' $ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED ;; |
||||
esac |
||||
done |
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX |
||||
} |
||||
|
||||
Loading…
Reference in new issue