From abe41d953fc33dc7ab1884d4ff3d8f76c7afe86f Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Mon, 25 Apr 2016 09:34:50 +0430 Subject: [PATCH] lxsameer theme improved --- themes/lxsameer.zsh-theme | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/themes/lxsameer.zsh-theme b/themes/lxsameer.zsh-theme index de29649..967ddde 100644 --- a/themes/lxsameer.zsh-theme +++ b/themes/lxsameer.zsh-theme @@ -8,9 +8,21 @@ function my_git_prompt_info() { ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git rev-parse --short HEAD 2> /dev/null) || return - echo "$ZSH_THEME_GIT_PROMPT_PREFIX $(parse_git_dirty)${ref#refs/heads/} %F{007}\uf126 $ZSH_THEME_GIT_PROMPT_SUFFIX" + echo "$(my_commits) $(count_commits) $ZSH_THEME_GIT_PROMPT_PREFIX %F{007}$(parse_git_dirty)%F{005}${ref#refs/heads/} %F{007}\uf126 $ZSH_THEME_GIT_PROMPT_SUFFIX" } +function count_commits () { + count="$(git rev-list --all --count)" + formatted="$(printf "%05d" $count)" + echo "%F{008}$formatted \uf02c" +} + +function my_commits () { + commits="$(git shortlog -s -n|grep 'Sameer Rahmani'|cut -f 1)" + result="${commits// /}" + formatted="$(printf "%04d" $result)" + echo "%F{002}$formatted \uf1ae" +} function get_pwd() { echo "${PWD/$HOME/~}" } @@ -20,16 +32,16 @@ function spaces() { if [ ${#git} != 0 ]; then local clean=$(parse_git_dirty) if [ ${#clean} != 0 ]; then - (( git = ${#git} - 20 - ${#clean} + 1 )) + (( git = ${#git} - 48 - ${#clean} + 1 )) else - (( git = ${#git} - 20 )) + (( git = ${#git} - 48 )) fi else git=0 fi local termwidth - (( termwidth = ${COLUMNS} - 7 - ${#$(get_pwd)} - ${git} )) + (( termwidth = ${COLUMNS} - 18 - ${#$(get_pwd)} - ${git} )) local spacing=" " for i in {1..$termwidth}; do @@ -41,21 +53,28 @@ function user_sign () { if [ $UID != 0 ]; then echo "%F{002}\uf058" else - echo "%F{009}\uf071" + echo "%F{001}\uf071" fi } function path_icon () { - echo "%F{0033}\uf0c1" + echo "%F{004}\uf0c1" } function code_icon () { echo "%F{007}\uf121 " } +function last_command_result () { + echo "%F{005}%? \uf128" +} + +function num_jobs () { + echo "%F{004}%j \uf013" +} PROMPT=' -$(user_sign) $(path_icon) %F{003}%~%F{008}$(spaces) $(my_git_prompt_info) -$(code_icon)%f' + $(user_sign) %F{007}[ $(last_command_result) $(num_jobs) %F{007}] %F{003}%~%F{008}$(spaces) $(my_git_prompt_info) + $(code_icon)%f' # git settings ZSH_THEME_GIT_PROMPT_PREFIX="%F{002}["