From 43b87a877c40ff789c3350f1ed3ae00c10bb547f Mon Sep 17 00:00:00 2001 From: guneysus Date: Sun, 18 Jan 2015 13:55:20 +0200 Subject: [PATCH 1/8] Powerline fancy theme --- themes/powerline_fancy.zsh-theme | 143 +++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 themes/powerline_fancy.zsh-theme diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme new file mode 100644 index 000000000..47b791e30 --- /dev/null +++ b/themes/powerline_fancy.zsh-theme @@ -0,0 +1,143 @@ +# FreeAgent puts the powerline style in zsh ! +# +_wd() { + echo $(pwd | perl -pe " + BEGIN { + binmode STDIN, ':encoding(UTF-8)'; + binmode STDOUT, ':encoding(UTF-8)'; + }; s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g") | \ + sed -e "0,/^\//s// \//g" -e "s/\///g" +} + +if [ "$POWERLINE_DATE_FORMAT" = "" ]; then + POWERLINE_DATE_FORMAT=%D{%Y-%m-%d} +fi + +if [ "$POWERLINE_RIGHT_B" = "" ]; then + POWERLINE_RIGHT_B=%D{%H:%M:%S} +elif [ "$POWERLINE_RIGHT_B" = "none" ]; then + POWERLINE_RIGHT_B="" +fi + +if [ "$POWERLINE_RIGHT_A" = "mixed" ]; then + POWERLINE_RIGHT_A=%(?."$POWERLINE_DATE_FORMAT".%F{red}✘ %?) +elif [ "$POWERLINE_RIGHT_A" = "exit-status" ]; then + POWERLINE_RIGHT_A=%(?.%F{green}✔ %?.%F{red}✘ %?) +elif [ "$POWERLINE_RIGHT_A" = "date" ]; then + POWERLINE_RIGHT_A="$POWERLINE_DATE_FORMAT" +fi +POWERLINE_RIGHT_A="" +POWERLINE_RIGHT_B="" + +if [ "$POWERLINE_HIDE_USER_NAME" = "" ] && [ "$POWERLINE_HIDE_HOST_NAME" = "" ]; then + POWERLINE_USER_NAME="" +elif [ "$POWERLINE_HIDE_USER_NAME" != "" ] && [ "$POWERLINE_HIDE_HOST_NAME" = "" ]; then + POWERLINE_USER_NAME="" +elif [ "$POWERLINE_HIDE_USER_NAME" = "" ] && [ "$POWERLINE_HIDE_HOST_NAME" != "" ]; then + POWERLINE_USER_NAME="" +else + POWERLINE_USER_NAME="" +fi + +if [ "$POWERLINE_FULL_CURRENT_PATH" = "" ]; then + POWERLINE_CURRENT_PATH='$(_wd)' +fi + +if [ "$POWERLINE_GIT_CLEAN" = "" ]; then + POWERLINE_GIT_CLEAN="✔" +fi + +if [ "$POWERLINE_GIT_DIRTY" = "" ]; then + POWERLINE_GIT_DIRTY="✘" +fi + +if [ "$POWERLINE_GIT_ADDED" = "" ]; then + POWERLINE_GIT_ADDED="%F{green}✚%F{black}" +fi + +if [ "$POWERLINE_GIT_MODIFIED" = "" ]; then + POWERLINE_GIT_MODIFIED="%F{blue}✹%F{black}" +fi + +if [ "$POWERLINE_GIT_DELETED" = "" ]; then + POWERLINE_GIT_DELETED="%F{red}✖%F{black}" +fi + +if [ "$POWERLINE_GIT_UNTRACKED" = "" ]; then + POWERLINE_GIT_UNTRACKED="%F{yellow}✭%F{black}" +fi + +if [ "$POWERLINE_GIT_RENAMED" = "" ]; then + POWERLINE_GIT_RENAMED="➜" +fi + +if [ "$POWERLINE_GIT_UNMERGED" = "" ]; then + POWERLINE_GIT_UNMERGED="═" +fi + +# \ue0a0  +# \uf09b  +# +ZSH_THEME_GIT_PROMPT_PREFIX=" " +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY=" $POWERLINE_GIT_DIRTY" +ZSH_THEME_GIT_PROMPT_CLEAN=" $POWERLINE_GIT_CLEAN" + +ZSH_THEME_GIT_PROMPT_ADDED=" $POWERLINE_GIT_ADDED" +ZSH_THEME_GIT_PROMPT_MODIFIED=" $POWERLINE_GIT_MODIFIED" +ZSH_THEME_GIT_PROMPT_DELETED=" $POWERLINE_GIT_DELETED" +ZSH_THEME_GIT_PROMPT_UNTRACKED=" $POWERLINE_GIT_UNTRACKED" +ZSH_THEME_GIT_PROMPT_RENAMED=" $POWERLINE_GIT_RENAMED" +ZSH_THEME_GIT_PROMPT_UNMERGED=" $POWERLINE_GIT_UNMERGED" +ZSH_THEME_GIT_PROMPT_AHEAD=" ⬆" +ZSH_THEME_GIT_PROMPT_BEHIND=" ⬇" +ZSH_THEME_GIT_PROMPT_DIVERGED=" ⬍" + +# if [ "$(git_prompt_info)" = "" ]; then + # POWERLINE_GIT_INFO_LEFT="" + # POWERLINE_GIT_INFO_RIGHT="" +# else + if [ "$POWERLINE_SHOW_GIT_ON_RIGHT" = "" ]; then + if [ "$POWERLINE_HIDE_GIT_PROMPT_STATUS" = "" ]; then + POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$''"%F{white}%F{black}%K{white}"$'$(git_prompt_info)$(git_prompt_status)%F{white}' + else + POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$''"%F{white}%F{black}%K{white}"$'$(git_prompt_info)%F{white}' + fi + POWERLINE_GIT_INFO_RIGHT="" + else + POWERLINE_GIT_INFO_LEFT="" + POWERLINE_GIT_INFO_RIGHT="" #"%F{white}"$'\ue0b2'"%F{black}%K{white}"$'$(git_prompt_info)'" %K{white}" + fi +# fi + +if [ $(id -u) -eq 0 ]; then + POWERLINE_SEC1_BG=%K{red} + POWERLINE_SEC1_FG=%F{red} +else + POWERLINE_SEC1_BG=%K{green} + POWERLINE_SEC1_FG=%F{green} +fi +POWERLINE_SEC1_TXT=%F{black} +if [ "$POWERLINE_DETECT_SSH" != "" ]; then + if [ -n "$SSH_CLIENT" ]; then + POWERLINE_SEC1_BG=%K{red} + POWERLINE_SEC1_FG=%F{red} + POWERLINE_SEC1_TXT=%F{white} + fi +fi +PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT $POWERLINE_USER_NAME %k%f$POWERLINE_SEC1_FG%K{blue}"$''"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$''"%f " + +if [ "$POWERLINE_NO_BLANK_LINE" = "" ]; then + PROMPT=" +"$PROMPT +fi + +if [ "$POWERLINE_DISABLE_RPROMPT" = "" ]; then + if [ "$POWERLINE_RIGHT_A" = "" ]; then + RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{yellow}"$''"%k%F%K $POWERLINE_RIGHT_B %f%k" + elif [ "$POWERLINE_RIGHT_B" = "" ]; then + RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{yellow}"$''"%k%F%K $POWERLINE_RIGHT_A %f%k" + else + RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$''"%k%F%K $POWERLINE_RIGHT_B %f%F{red}"$''"%f%k%K%F $POWERLINE_RIGHT_A %f%k" + fi +fi From 46a56678847382f66a791b37ceb10b3930277058 Mon Sep 17 00:00:00 2001 From: guneysus Date: Sun, 18 Jan 2015 14:18:47 +0200 Subject: [PATCH 2/8] Home, Github, bitbucket, dropbox and windoz folder icons --- themes/powerline_fancy.zsh-theme | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index 47b791e30..69aa71a1e 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -5,8 +5,21 @@ _wd() { BEGIN { binmode STDIN, ':encoding(UTF-8)'; binmode STDOUT, ':encoding(UTF-8)'; - }; s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g") | \ - sed -e "0,/^\//s// \//g" -e "s/\///g" + }; \ + s|/home/developer/repos/github.com|__GITHUB|g; \ + s|/home/developer/repos/bitbucket.org|__BITBUCKET|g; \ + s|/media/ahmed/OS|__WINDOZ|g;\ + s|^$HOME/Dropbox|__DROPBOX|g;\ + s|^$HOME|__HOME|g;\ + s|/([^/])[^/]*(?=/)|/\$1|g") | \ + sed \ + -e "s/__GITHUB/ /g" \ + -e "s/__BITBUCKET/ /g" \ + -e "s/__WINDOZ/ /g" \ + -e "s/__DROPBOX/ /g" \ + -e "s/__HOME/ /g" \ + -e "0,/^\//s// \//g" \ + -e "s/\///g" } if [ "$POWERLINE_DATE_FORMAT" = "" ]; then From 83ef2e9289d42287b00898a5d0eb08e2a351ba51 Mon Sep 17 00:00:00 2001 From: guneysus Date: Sun, 18 Jan 2015 21:04:26 +0200 Subject: [PATCH 3/8] WWW directory icon added --- themes/powerline_fancy.zsh-theme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index 69aa71a1e..ccc8dbd01 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -10,6 +10,7 @@ _wd() { s|/home/developer/repos/bitbucket.org|__BITBUCKET|g; \ s|/media/ahmed/OS|__WINDOZ|g;\ s|^$HOME/Dropbox|__DROPBOX|g;\ + s|/var/www|__WWW|g;\ s|^$HOME|__HOME|g;\ s|/([^/])[^/]*(?=/)|/\$1|g") | \ sed \ @@ -17,6 +18,7 @@ _wd() { -e "s/__BITBUCKET/ /g" \ -e "s/__WINDOZ/ /g" \ -e "s/__DROPBOX/ /g" \ + -e "s/__WWW/ /g" \ -e "s/__HOME/ /g" \ -e "0,/^\//s// \//g" \ -e "s/\///g" From 314bb11875c69f29cf4544ee35005b8b58d8d0f3 Mon Sep 17 00:00:00 2001 From: guneysus Date: Tue, 20 Jan 2015 15:49:44 +0200 Subject: [PATCH 4/8] Right prompt causes error. Removed content of RPPROMPT --- themes/powerline_fancy.zsh-theme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index ccc8dbd01..12febf6de 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -156,3 +156,5 @@ if [ "$POWERLINE_DISABLE_RPROMPT" = "" ]; then RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$''"%k%F%K $POWERLINE_RIGHT_B %f%F{red}"$''"%f%k%K%F $POWERLINE_RIGHT_A %f%k" fi fi + +RPROMPT="" From 634fb3f3dc23d64ab3ab73d122115901c1458315 Mon Sep 17 00:00:00 2001 From: guneysus Date: Fri, 23 Jan 2015 16:53:09 +0200 Subject: [PATCH 5/8] Zsh right prompt show short sha --- themes/powerline_fancy.zsh-theme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index 12febf6de..42be0eea6 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -41,8 +41,8 @@ elif [ "$POWERLINE_RIGHT_A" = "exit-status" ]; then elif [ "$POWERLINE_RIGHT_A" = "date" ]; then POWERLINE_RIGHT_A="$POWERLINE_DATE_FORMAT" fi -POWERLINE_RIGHT_A="" -POWERLINE_RIGHT_B="" +POWERLINE_RIGHT_A="A" +POWERLINE_RIGHT_B="B" if [ "$POWERLINE_HIDE_USER_NAME" = "" ] && [ "$POWERLINE_HIDE_HOST_NAME" = "" ]; then POWERLINE_USER_NAME="" @@ -121,7 +121,7 @@ ZSH_THEME_GIT_PROMPT_DIVERGED=" ⬍" POWERLINE_GIT_INFO_RIGHT="" else POWERLINE_GIT_INFO_LEFT="" - POWERLINE_GIT_INFO_RIGHT="" #"%F{white}"$'\ue0b2'"%F{black}%K{white}"$'$(git_prompt_info)'" %K{white}" + POWERLINE_GIT_INFO_RIGHT="%F{white}"$'\ue0b2'"%F{black}%K{white}"$'$(git_prompt_info)'" %K{white}" fi # fi @@ -140,7 +140,7 @@ if [ "$POWERLINE_DETECT_SSH" != "" ]; then POWERLINE_SEC1_TXT=%F{white} fi fi -PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT $POWERLINE_USER_NAME %k%f$POWERLINE_SEC1_FG%K{blue}"$''"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$''"%f " +PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT$POWERLINE_USER_NAME %k%f$POWERLINE_SEC1_FG%K{blue}"$''"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$''"%f " if [ "$POWERLINE_NO_BLANK_LINE" = "" ]; then PROMPT=" @@ -153,8 +153,8 @@ if [ "$POWERLINE_DISABLE_RPROMPT" = "" ]; then elif [ "$POWERLINE_RIGHT_B" = "" ]; then RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{yellow}"$''"%k%F%K $POWERLINE_RIGHT_A %f%k" else - RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$''"%k%F%K $POWERLINE_RIGHT_B %f%F{red}"$''"%f%k%K%F $POWERLINE_RIGHT_A %f%k" + RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{red}"$''"%k%F%K $POWERLINE_RIGHT_B %f%F{red}"$''"%f%k%K%F $POWERLINE_RIGHT_A %f%k" fi fi -RPROMPT="" +RPROMPT="(%F{green}$(git_prompt_short_sha)%f)" From 0516660c7fd8817d2fa83ca569781e1bb4861cda Mon Sep 17 00:00:00 2001 From: guneysus Date: Fri, 23 Jan 2015 17:18:13 +0200 Subject: [PATCH 6/8] Short sha fixed --- themes/powerline_fancy.zsh-theme | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index 42be0eea6..9b0a55133 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -157,4 +157,5 @@ if [ "$POWERLINE_DISABLE_RPROMPT" = "" ]; then fi fi -RPROMPT="(%F{green}$(git_prompt_short_sha)%f)" +POWERLINE_GIT_INFO_RIGHT='$(git_prompt_short_sha)' +RPROMPT="%F{green}$POWERLINE_GIT_INFO_RIGHT" From 0c92b97f24fccaad6018bb03dc22232ddc09394b Mon Sep 17 00:00:00 2001 From: guneysus Date: Sat, 24 Jan 2015 14:21:59 +0200 Subject: [PATCH 7/8] Collapse/Uncollapse git_prompt/working dir functions added --- themes/powerline_fancy.zsh-theme | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index 9b0a55133..b2ae69e50 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -159,3 +159,27 @@ fi POWERLINE_GIT_INFO_RIGHT='$(git_prompt_short_sha)' RPROMPT="%F{green}$POWERLINE_GIT_INFO_RIGHT" + +update_prompt(){ + PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT$POWERLINE_USER_NAME %k%f$POWERLINE_SEC1_FG%K{blue}"$''"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$''"%f " + +} +collapse_git () { + POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$''"%F{white}%F{black}%K{white}"$'%F{white}' + update_prompt +} + +collapse_wd () { + POWERLINE_CURRENT_PATH='%1d' + update_prompt +} + +uncollapse_git () { + POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$''"%F{white}%F{black}%K{white}"$'$(git_prompt_info)$(git_prompt_status)%F{white}' + update_prompt +} + +uncollapse_wd () { + POWERLINE_CURRENT_PATH='$(_wd)' + update_prompt +} From fa6e3f5702595064fe7b4cbbef8f111044afba2c Mon Sep 17 00:00:00 2001 From: guneysus Date: Sat, 24 Jan 2015 14:34:32 +0200 Subject: [PATCH 8/8] Collapse/Uncollapse all function --- themes/powerline_fancy.zsh-theme | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/themes/powerline_fancy.zsh-theme b/themes/powerline_fancy.zsh-theme index b2ae69e50..9dbe4e564 100644 --- a/themes/powerline_fancy.zsh-theme +++ b/themes/powerline_fancy.zsh-theme @@ -183,3 +183,14 @@ uncollapse_wd () { POWERLINE_CURRENT_PATH='$(_wd)' update_prompt } +uncollapse_all(){ + uncollapse_git + uncollapse_wd + update_prompt +} + +collapse_all(){ + collapse_git + collapse_wd + update_prompt +}