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() { |
function vagrant_prompt_info() { |
||||||
|
if [[ ! -d .vagrant || ! -f Vagrantfile ]]; then |
||||||
|
return |
||||||
|
fi |
||||||
|
|
||||||
local vm_states vm_state |
local vm_states vm_state |
||||||
if [[ -d .vagrant && -f Vagrantfile ]]; then |
vm_states=(${(f)"$(vagrant status 2> /dev/null | sed -nE 's/^[^ ]* *([[:alnum:] ]*) \([[:alnum:]_]+\)$/\1/p')"}) |
||||||
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 |
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_PREFIX |
||||||
for vm_state in $vm_states; do |
for vm_state in $vm_states; do |
||||||
case "$vm_state" in |
case "$vm_state" in |
||||||
saved) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUSPENDED ;; |
|
||||||
running) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING ;; |
running) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING ;; |
||||||
poweroff) printf '%s' $ZSH_THEME_VAGRANT_PROMPT_POWEROFF ;; |
"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 ;; |
"not created") printf '%s' $ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED ;; |
||||||
esac |
esac |
||||||
done |
done |
||||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX |
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX |
||||||
fi |
|
||||||
} |
} |
||||||
|
|||||||
Loading…
Reference in new issue