diff --git a/lib/git.zsh b/lib/git.zsh index c4b5b5d62..804f15305 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -133,6 +133,22 @@ function git_compare_version() { echo 1 } +function git_prompt_no_changed_files { + + if [ ! -d .git ]; then + return + fi + + local NO_OF_CHANGED_FILES + + NO_OF_CHANGED_FILES=$(git status -s 2> /dev/null | wc -l | sed 's/ *//g') + if [ $NO_OF_CHANGED_FILES != 0 ]; then + echo " $NO_OF_CHANGED_FILES" + else + return + fi +} + #this is unlikely to change so make it all statically assigned POST_1_7_2_GIT=$(git_compare_version "1.7.2") #clean up the namespace slightly by removing the checker function diff --git a/lib/vagrant.zsh b/lib/vagrant.zsh new file mode 100644 index 000000000..d7c239b96 --- /dev/null +++ b/lib/vagrant.zsh @@ -0,0 +1,15 @@ +function vagrant_prompt_status { + if [ ! -f Vagrantfile ]; then + return + fi + + VAGRANT_BOX=$(grep 'config.vm.box =' Vagrantfile | awk '{print $3}') + VARGANT_STATE=$(vagrant status 2>/dev/null | grep default | awk {'print $2'}) + case "$VARGANT_STATE" in + "running") VARGANT_STATUS=$ZSH_THEME_VAGRANT_PROMPT_ON;; + stopped|poweroff|saved) VARGANT_STATUS=$ZSH_THEME_VAGRANT_PROMPT_OFF;; + *) return + esac + + echo "default($VAGRANT_BOX): $VARGANT_STATE $VARGANT_STATUS" +} diff --git a/themes/std.zsh-theme b/themes/std.zsh-theme new file mode 100644 index 000000000..a6ab21891 --- /dev/null +++ b/themes/std.zsh-theme @@ -0,0 +1,21 @@ +# ----------------------------------------------------------------------------- +# FILE: std.zsh-theme +# DESCRIPTION: oh-my-zsh theme file +# AUTHOR: Andrii Grytsenko +# VERSION: 0.1 +# SCREENSHOT: http://s23.postimg.org/dlcljx5kb/std.png +# ----------------------------------------------------------------------------- + +NOT_OK="%{$fg[red]%} ☻ %{$reset_color%}" +OK="%{$fg[green]%} ☻ %{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=$NOT_OK +ZSH_THEME_GIT_PROMPT_CLEAN=$OK + +ZSH_THEME_VAGRANT_PROMPT_OFF=$NOT_OK +ZSH_THEME_VAGRANT_PROMPT_ON=$OK + +PROMPT='%{$fg[red]%}%n@%m%{$reset_color%}%{$fg_bold[red]%} %{$reset_color%}%{$fg[white]%}%0~%{$reset_color%}%{$fg_bold[blue]%} => %{$reset_color%} ' +RPROMPT='%{$reset_color%}%{$fg_bold[blue]%}$(git_prompt_short_sha)$(git_prompt_no_changed_files) $(git_prompt_info) $(vagrant_prompt_status)%{$reset_color%}'