lxsameer theme improved

This commit is contained in:
Sameer Rahmani 2016-04-25 09:34:50 +04:30
parent b511d9b14f
commit abe41d953f
1 changed files with 27 additions and 8 deletions

View File

@ -8,9 +8,21 @@
function my_git_prompt_info() { function my_git_prompt_info() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git symbolic-ref HEAD 2> /dev/null) || \
ref=$(git rev-parse --short HEAD 2> /dev/null) || return 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() { function get_pwd() {
echo "${PWD/$HOME/~}" echo "${PWD/$HOME/~}"
} }
@ -20,16 +32,16 @@ function spaces() {
if [ ${#git} != 0 ]; then if [ ${#git} != 0 ]; then
local clean=$(parse_git_dirty) local clean=$(parse_git_dirty)
if [ ${#clean} != 0 ]; then if [ ${#clean} != 0 ]; then
(( git = ${#git} - 20 - ${#clean} + 1 )) (( git = ${#git} - 48 - ${#clean} + 1 ))
else else
(( git = ${#git} - 20 )) (( git = ${#git} - 48 ))
fi fi
else else
git=0 git=0
fi fi
local termwidth local termwidth
(( termwidth = ${COLUMNS} - 7 - ${#$(get_pwd)} - ${git} )) (( termwidth = ${COLUMNS} - 18 - ${#$(get_pwd)} - ${git} ))
local spacing=" " local spacing=" "
for i in {1..$termwidth}; do for i in {1..$termwidth}; do
@ -41,21 +53,28 @@ function user_sign () {
if [ $UID != 0 ]; then if [ $UID != 0 ]; then
echo "%F{002}\uf058" echo "%F{002}\uf058"
else else
echo "%F{009}\uf071" echo "%F{001}\uf071"
fi fi
} }
function path_icon () { function path_icon () {
echo "%F{0033}\uf0c1" echo "%F{004}\uf0c1"
} }
function code_icon () { function code_icon () {
echo "%F{007}\uf121 " echo "%F{007}\uf121 "
} }
function last_command_result () {
echo "%F{005}%? \uf128"
}
function num_jobs () {
echo "%F{004}%j \uf013"
}
PROMPT=' PROMPT='
$(user_sign) $(path_icon) %F{003}%~%F{008}$(spaces) $(my_git_prompt_info) $(user_sign) %F{007}[ $(last_command_result) $(num_jobs) %F{007}] %F{003}%~%F{008}$(spaces) $(my_git_prompt_info)
$(code_icon)%f' $(code_icon)%f'
# git settings # git settings
ZSH_THEME_GIT_PROMPT_PREFIX="%F{002}[" ZSH_THEME_GIT_PROMPT_PREFIX="%F{002}["