mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 08:50:08 +00:00
Adds vagrant_prompt_info
function to your shell (#4081)
This commit is contained in:
parent
78e7ec2186
commit
29a2394c8f
2 changed files with 44 additions and 0 deletions
6
plugins/vagrant-prompt/README.md
Normal file
6
plugins/vagrant-prompt/README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
This plugin prompts the status of the Vagrant VMs. It supports single-host and
|
||||
multi-host configurations as well.
|
||||
|
||||
Look inside the source for documentation about custom variables.
|
||||
|
||||
Alberto Re <alberto.re@gmail.com>
|
38
plugins/vagrant-prompt/vagrant-prompt.plugin.zsh
Normal file
38
plugins/vagrant-prompt/vagrant-prompt.plugin.zsh
Normal file
|
@ -0,0 +1,38 @@
|
|||
# vim:ft=zsh ts=2 sw=2 sts=2
|
||||
#
|
||||
# To display Vagrant infos on your prompt add the vagrant_prompt_info to the
|
||||
# $PROMPT variable in your theme. Example:
|
||||
#
|
||||
# PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(vagrant_prompt_info)$(svn_prompt_info)$(git_prompt_info)%(!.#.$) '
|
||||
#
|
||||
# `vagrant_prompt_info` makes use of some custom variables. This is an example
|
||||
# definition:
|
||||
#
|
||||
# ZSH_THEME_VAGRANT_PROMPT_PREFIX="%{$fg_bold[blue]%}["
|
||||
# ZSH_THEME_VAGRANT_PROMPT_SUFFIX="%{$fg_bold[blue]%}]%{$reset_color%} "
|
||||
# ZSH_THEME_VAGRANT_PROMPT_RUNNING="%{$fg_no_bold[green]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_POWEROFF="%{$fg_no_bold[red]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_SUSPENDED="%{$fg_no_bold[yellow]%}●"
|
||||
# ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED="%{$fg_no_bold[white]%}○"
|
||||
|
||||
function vagrant_prompt_info() {
|
||||
test -d .vagrant && test -f Vagrantfile
|
||||
if [[ "$?" == "0" ]]; then
|
||||
statuses=$(vagrant status 2> /dev/null | grep -P "\w+\s+[\w\s]+\s\(\w+\)")
|
||||
statuses=("${(f)statuses}")
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_PREFIX
|
||||
for vm_details in $statuses; do
|
||||
vm_state=$(echo $vm_details | grep -o -E "saved|poweroff|not created|running")
|
||||
if [[ "$vm_state" == "running" ]]; then
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_RUNNING
|
||||
elif [[ "$vm_state" == "saved" ]]; then
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUSPENDED
|
||||
elif [[ "$vm_state" == "not created" ]]; then
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_NOT_CREATED
|
||||
elif [[ "$vm_state" == "poweroff" ]]; then
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_POWEROFF
|
||||
fi
|
||||
done
|
||||
printf '%s' $ZSH_THEME_VAGRANT_PROMPT_SUFFIX
|
||||
fi
|
||||
}
|
Loading…
Reference in a new issue