From e7e86d9a7266a6c4318c138e820b0dcf9ea6b7b6 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 22 May 2015 21:10:03 +0200 Subject: Added some flexibility regarding colors: Now you can specify the foreground and background colors for every segment by setting variables like POWERLEVEL9K_TIME_FOREGROUND="green". --- powerlevel9k.zsh-theme | 81 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 29 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d1e927c8..3e97ad44 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -126,16 +126,29 @@ fi # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. left_prompt_segment() { +# Unfortunately that doesn't work.. +# local BG_COLOR_MODIFIER=${(P)POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND} + + # Overwrite given background-color by user defined variable for this segment. + local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND + local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE} + [[ -n $BG_COLOR_MODIFIER ]] && 2=$BG_COLOR_MODIFIER + + # Overwrite given foreground-color by user defined variable for this segment. + local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_FOREGROUND + local FG_COLOR_MODIFIER=${(P)FOREGROUND_USER_VARIABLE} + [[ -n $FG_COLOR_MODIFIER ]] && 3=$FG_COLOR_MODIFIER + local bg fg - [[ -n $1 ]] && bg="%K{$1}" || bg="%k" - [[ -n $2 ]] && fg="%F{$2}" || fg="%f" - if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then + [[ -n $2 ]] && bg="%K{$2}" || bg="%k" + [[ -n $3 ]] && fg="%F{$3}" || fg="%f" + if [[ $CURRENT_BG != 'NONE' && $2 != $CURRENT_BG ]]; then echo -n "%{$bg%F{$CURRENT_BG}%}$LEFT_SEGMENT_SEPARATOR%{$fg%} " else echo -n "%{$bg%}%{$fg%} " fi - CURRENT_BG=$1 - [[ -n $3 ]] && echo -n $3 + CURRENT_BG=$2 + [[ -n $4 ]] && echo -n $4 } # End the left prompt, closing any open segments @@ -154,11 +167,21 @@ left_prompt_end() { # rendering default background/foreground. No ending for the right prompt # segment is needed (unlike the left prompt, above). right_prompt_segment() { + # Overwrite given background-color by user defined variable for this segment. + local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND + local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE} + [[ -n $BG_COLOR_MODIFIER ]] && 2=$BG_COLOR_MODIFIER + + # Overwrite given foreground-color by user defined variable for this segment. + local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_FOREGROUND + local FG_COLOR_MODIFIER=${(P)FOREGROUND_USER_VARIABLE} + [[ -n $FG_COLOR_MODIFIER ]] && 3=$FG_COLOR_MODIFIER + local bg fg - [[ -n $1 ]] && bg="%K{$1}" || bg="%k" - [[ -n $2 ]] && fg="%F{$2}" || fg="%f" - echo -n " %f%F{$1}$RIGHT_SEGMENT_SEPARATOR%f%{$bg%}%{$fg%} " - [[ -n $3 ]] && echo -n $3 + [[ -n $2 ]] && bg="%K{$2}" || bg="%k" + [[ -n $3 ]] && fg="%F{$3}" || fg="%f" + echo -n " %f%F{$2}$RIGHT_SEGMENT_SEPARATOR%f%{$bg%}%{$fg%} " + [[ -n $4 ]] && echo -n $4 } ################################################################ @@ -169,9 +192,9 @@ prompt_vcs() { if [[ -n $vcs_prompt ]]; then if [[ "$VCS_WORKDIR_DIRTY" == true ]]; then - $1_prompt_segment yellow $DEFAULT_COLOR + $1_prompt_segment $0_MODIFIED yellow $DEFAULT_COLOR else - $1_prompt_segment green $DEFAULT_COLOR + $1_prompt_segment $0 green $DEFAULT_COLOR fi echo -n "%F{$DEFAULT_COLOR}%f$vcs_prompt" @@ -267,7 +290,7 @@ prompt_aws() { local aws_profile=$AWS_DEFAULT_PROFILE if [[ -n $aws_profile ]]; then - $1_prompt_segment red white "AWS: $aws_profile" + $1_prompt_segment $0 red white "AWS: $aws_profile" fi } @@ -275,18 +298,18 @@ prompt_aws() { # Note that if $DEFAULT_USER is not set, this prompt segment will always print prompt_context() { if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then - $1_prompt_segment $DEFAULT_COLOR "011" "%(!.%{%F{yellow}%}.)$USER@%m" + $1_prompt_segment $0 $DEFAULT_COLOR "011" "%(!.%{%F{yellow}%}.)$USER@%m" fi } # Dir: current working directory prompt_dir() { - $1_prompt_segment blue $DEFAULT_COLOR '%~' + $1_prompt_segment $0 blue $DEFAULT_COLOR '%~' } # Command number (in local history) prompt_history() { - $1_prompt_segment "244" $DEFAULT_COLOR '%h' + $1_prompt_segment $0 "244" $DEFAULT_COLOR '%h' } # Right Status: (return code, root status, background jobs) @@ -307,13 +330,13 @@ prompt_longstatus() { [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" - [[ -n "$symbols" ]] && $1_prompt_segment $bg $DEFAULT_COLOR "$symbols" + [[ -n "$symbols" ]] && $1_prompt_segment $0 $bg $DEFAULT_COLOR "$symbols" } # rbenv information prompt_rbenv() { if [[ -n "$RBENV_VERSION" ]]; then - $1_prompt_segment red $DEFAULT_COLOR "$RBENV_VERSION" + $1_prompt_segment $0 red $DEFAULT_COLOR "$RBENV_VERSION" fi } @@ -323,7 +346,7 @@ prompt_rspec_stats() { local code_amount=$(ls -1 app/**/*.rb | wc -l) local tests_amount=$(ls -1 spec/**/*.rb | wc -l) - build_test_stats $1 $code_amount $tests_amount "RSpec" + build_test_stats $1 $0 $code_amount $tests_amount "RSpec" fi } @@ -332,7 +355,7 @@ prompt_rvm() { local rvm_prompt rvm_prompt=`rvm-prompt` if [ "$rvm_prompt" != "" ]; then - $1_prompt_segment "240" $DEFAULT_COLOR "$rvm_prompt " + $1_prompt_segment $0 "240" $DEFAULT_COLOR "$rvm_prompt " fi } @@ -345,7 +368,7 @@ prompt_status() { [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" - [[ -n "$symbols" ]] && $1_prompt_segment $DEFAULT_COLOR default "$symbols" + [[ -n "$symbols" ]] && $1_prompt_segment $0 $DEFAULT_COLOR default "$symbols" } # Symfony2-PHPUnit test ratio @@ -354,23 +377,23 @@ prompt_symfony2_tests() { local code_amount=$(ls -1 src/**/*.php | grep -v Tests | wc -l) local tests_amount=$(ls -1 src/**/*.php | grep Tests | wc -l) - build_test_stats $1 $code_amount $tests_amount "SF2-Tests" + build_test_stats $1 $0 $code_amount $tests_amount "SF2-Tests" fi } # Show a ratio of tests vs code build_test_stats() { - local code_amount=$2 - local tests_amount=$3+0.00001 - local headline=$4 + local code_amount=$3 + local tests_amount=$4+0.00001 + local headline=$5 # Set float precision to 2 digits: typeset -F 2 ratio local ratio=$(( (tests_amount/code_amount) * 100 )) - [[ ratio -ge 0.75 ]] && $1_prompt_segment cyan $DEFAULT_COLOR "$headline: $ratio%%" - [[ ratio -ge 0.5 && ratio -lt 0.75 ]] && $1_prompt_segment yellow $DEFAULT_COLOR "$headline: $ratio%%" - [[ ratio -lt 0.5 ]] && $1_prompt_segment red $DEFAULT_COLOR "$headline: $ratio%%" + [[ ratio -ge 0.75 ]] && $1_prompt_segment ${2}_GOOD cyan $DEFAULT_COLOR "$headline: $ratio%%" + [[ ratio -ge 0.5 && ratio -lt 0.75 ]] && $1_prompt_segment $2_AVG yellow $DEFAULT_COLOR "$headline: $ratio%%" + [[ ratio -lt 0.5 ]] && $1_prompt_segment $2_BAD red $DEFAULT_COLOR "$headline: $ratio%%" } # System time @@ -380,7 +403,7 @@ prompt_time() { time_format=$POWERLEVEL9K_TIME_FORMAT fi - $1_prompt_segment $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$time_format " + $1_prompt_segment $0 $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$time_format " } # Virtualenv: current working virtualenv @@ -389,7 +412,7 @@ prompt_time() { prompt_virtualenv() { local virtualenv_path="$VIRTUAL_ENV" if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then - $1_prompt_segment blue $DEFAULT_COLOR "(`basename $virtualenv_path`)" + $1_prompt_segment $0 blue $DEFAULT_COLOR "(`basename $virtualenv_path`)" fi } -- cgit v1.2.3 From cb8549aed94f8e3fa75f649ac70d82b7c87656b7 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 22 May 2015 21:58:46 +0200 Subject: A bit more documentation. --- powerlevel9k.zsh-theme | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 3e97ad44..867b93aa 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -126,7 +126,8 @@ fi # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. left_prompt_segment() { -# Unfortunately that doesn't work.. +# Unfortunately that doesn't work. But it should. The Example in +# http://zsh.sourceforge.net/FAQ/zshfaq03.html#l39 is quite similar. # local BG_COLOR_MODIFIER=${(P)POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND} # Overwrite given background-color by user defined variable for this segment. -- cgit v1.2.3 From 3aba9e20e5aacdceb018451c82848395e39ca65c Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 23 May 2015 00:09:30 +0200 Subject: VCS-Info should be affected by foreground color settings of the user. --- powerlevel9k.zsh-theme | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 867b93aa..8ca0263e 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -70,6 +70,19 @@ else DEFAULT_COLOR_DARK="236" fi +# Unfortunately the foreground colors for the VCS segment have +# to be overwritten at this point. +# Overwrite given foreground-color by user defined variable for this segment. +local VCS_FOREGROUND_COLOR=$DEFAULT_COLOR +local VCS_FOREGROUND_USER_VARIABLE=POWERLEVEL9K_VCS_FOREGROUND +local VCS_FG_COLOR_MODIFIER=${(P)VCS_FOREGROUND_USER_VARIABLE} +[[ -n $VCS_FG_COLOR_MODIFIER ]] && VCS_FOREGROUND_COLOR=$VCS_FG_COLOR_MODIFIER + +local VCS_FOREGROUND_COLOR_DARK=$DEFAULT_COLOR_DARK +local VCS_FOREGROUND_USER_VARIABLE_DARK=POWERLEVEL9K_VCS_DARK_FOREGROUND +local VCS_FG_DARK_COLOR_MODIFIER=${(P)VCS_FOREGROUND_USER_VARIABLE_DARK} +[[ -n $VCS_FG_DARK_COLOR_MODIFIER ]] && VCS_FOREGROUND_COLOR_DARK=$VCS_FG_DARK_COLOR_MODIFIER + ################################################################ # VCS Information Settings ################################################################ @@ -86,17 +99,17 @@ if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then VCS_CHANGESET_HASH_LENGTH=$POWERLEVEL9K_CHANGESET_HASH_LENGTH fi - VCS_CHANGESET_PREFIX="%F{$DEFAULT_COLOR_DARK}%0.$VCS_CHANGESET_HASH_LENGTH""i@%f" + VCS_CHANGESET_PREFIX="%F{$VCS_FOREGROUND_COLOR_DARK}%0.$VCS_CHANGESET_HASH_LENGTH""i@%f" fi zstyle ':vcs_info:*' enable git hg zstyle ':vcs_info:*' check-for-changes true -zstyle ':vcs_info:*' formats " $VCS_CHANGESET_PREFIX%F{$DEFAULT_COLOR}%b%c%u%m%f" +zstyle ':vcs_info:*' formats " $VCS_CHANGESET_PREFIX%F{$VCS_FOREGROUND_COLOR}%b%c%u%m%f" zstyle ':vcs_info:*' actionformats " %b %F{red}| %a%f" -zstyle ':vcs_info:*' stagedstr " %F{$DEFAULT_COLOR}$VCS_STAGED_ICON%f" -zstyle ':vcs_info:*' unstagedstr " %F{$DEFAULT_COLOR}$VCS_UNSTAGED_ICON%f" +zstyle ':vcs_info:*' stagedstr " %F{$VCS_FOREGROUND_COLOR}$VCS_STAGED_ICON%f" +zstyle ':vcs_info:*' unstagedstr " %F{$VCS_FOREGROUND_COLOR}$VCS_UNSTAGED_ICON%f" zstyle ':vcs_info:git*+set-message:*' hooks git-untracked git-aheadbehind git-stash git-remotebranch git-tagname @@ -198,14 +211,14 @@ prompt_vcs() { $1_prompt_segment $0 green $DEFAULT_COLOR fi - echo -n "%F{$DEFAULT_COLOR}%f$vcs_prompt" + echo -n "%F{$VCS_FOREGROUND_COLOR}%f$vcs_prompt" fi } function +vi-git-untracked() { if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' && \ $(git ls-files --others --exclude-standard | sed q | wc -l | tr -d ' ') != 0 ]]; then - hook_com[unstaged]+=" %F{$DEFAULT_COLOR}?%f" + hook_com[unstaged]+=" %F{$VCS_FOREGROUND_COLOR}?%f" fi } @@ -218,12 +231,12 @@ function +vi-git-aheadbehind() { # for git prior to 1.7 # ahead=$(git rev-list origin/${branch_name}..HEAD | wc -l) ahead=$(git rev-list ${branch_name}@{upstream}..HEAD 2>/dev/null | wc -l | tr -d ' ') - (( $ahead )) && gitstatus+=( " %F{$DEFAULT_COLOR}↑${ahead// /}%f" ) + (( $ahead )) && gitstatus+=( " %F{$VCS_FOREGROUND_COLOR}↑${ahead// /}%f" ) # for git prior to 1.7 # behind=$(git rev-list HEAD..origin/${branch_name} | wc -l) behind=$(git rev-list HEAD..${branch_name}@{upstream} 2>/dev/null | wc -l | tr -d ' ') - (( $behind )) && gitstatus+=( " %F{$DEFAULT_COLOR}↓${behind// /}%f" ) + (( $behind )) && gitstatus+=( " %F{$VCS_FOREGROUND_COLOR}↓${behind// /}%f" ) hook_com[misc]+=${(j::)gitstatus} } @@ -235,12 +248,12 @@ function +vi-git-remotebranch() { remote=${$(git rev-parse --verify HEAD@{upstream} --symbolic-full-name 2>/dev/null)/refs\/(remotes|heads)\/} branch_name=${$(git symbolic-ref --short HEAD 2>/dev/null)} - hook_com[branch]="%F{$DEFAULT_COLOR}${hook_com[branch]}%f" + hook_com[branch]="%F{$VCS_FOREGROUND_COLOR}${hook_com[branch]}%f" # Always show the remote #if [[ -n ${remote} ]] ; then # Only show the remote if it differs from the local if [[ -n ${remote} && ${remote#*/} != ${branch_name} ]] ; then - hook_com[branch]+="%F{$DEFAULT_COLOR}→%f%F{$DEFAULT_COLOR}${remote// /}%f" + hook_com[branch]+="%F{$VCS_FOREGROUND_COLOR}→%f%F{$VCS_FOREGROUND_COLOR}${remote// /}%f" fi } @@ -248,7 +261,7 @@ function +vi-git-tagname() { local tag tag=$(git describe --tags --exact-match HEAD 2>/dev/null) - [[ -n ${tag} ]] && hook_com[branch]=" %F{$DEFAULT_COLOR}${tag}%f" + [[ -n ${tag} ]] && hook_com[branch]=" %F{$VCS_FOREGROUND_COLOR}${tag}%f" } # Show count of stashed changes @@ -258,7 +271,7 @@ function +vi-git-stash() { if [[ -s $(git rev-parse --git-dir)/refs/stash ]] ; then stashes=$(git stash list 2>/dev/null | wc -l) - hook_com[misc]+=" %F{$DEFAULT_COLOR}⍟${stashes// /}%f" + hook_com[misc]+=" %F{$VCS_FOREGROUND_COLOR}⍟${stashes// /}%f" fi } -- cgit v1.2.3 From 6cca2c339ebbf66428dc8ae90da1fec573f18fb1 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 23 May 2015 00:15:25 +0200 Subject: Code documentation. --- powerlevel9k.zsh-theme | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 8ca0263e..7ad3e49f 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -144,6 +144,11 @@ left_prompt_segment() { # local BG_COLOR_MODIFIER=${(P)POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND} # Overwrite given background-color by user defined variable for this segment. + # We get as first Parameter the function name, which called this function. + # From the given function name, we strip the "prompt_"-prefix and uppercase it. + # This is, prefixed with "POWERLEVEL9K_" and suffixed with either "_BACKGROUND" + # of "_FOREGROUND", our variable name. So each new Segment should automatically + # be overwritable by a variable following this naming convention. local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE} [[ -n $BG_COLOR_MODIFIER ]] && 2=$BG_COLOR_MODIFIER -- cgit v1.2.3 From 16856268b373692a63296af3ffabd7e1fd530dd9 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 23 May 2015 22:23:38 +0200 Subject: Cleaned indentation. --- powerlevel9k.zsh-theme | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 7ad3e49f..c45e5542 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -144,11 +144,11 @@ left_prompt_segment() { # local BG_COLOR_MODIFIER=${(P)POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND} # Overwrite given background-color by user defined variable for this segment. - # We get as first Parameter the function name, which called this function. - # From the given function name, we strip the "prompt_"-prefix and uppercase it. - # This is, prefixed with "POWERLEVEL9K_" and suffixed with either "_BACKGROUND" - # of "_FOREGROUND", our variable name. So each new Segment should automatically - # be overwritable by a variable following this naming convention. + # We get as first Parameter the function name, which called this function. + # From the given function name, we strip the "prompt_"-prefix and uppercase it. + # This is, prefixed with "POWERLEVEL9K_" and suffixed with either "_BACKGROUND" + # of "_FOREGROUND", our variable name. So each new Segment should automatically + # be overwritable by a variable following this naming convention. local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE} [[ -n $BG_COLOR_MODIFIER ]] && 2=$BG_COLOR_MODIFIER @@ -281,15 +281,15 @@ function +vi-git-stash() { } function +vi-hg-bookmarks() { - if [[ -n "${hgbmarks[@]}" ]]; then - hook_com[hg-bookmark-string]=" ☿ ${hgbmarks[@]}" - - # And to signal, that we want to use the sting we just generated, - # set the special variable `ret' to something other than the default - # zero: - ret=1 - return 0 - fi + if [[ -n "${hgbmarks[@]}" ]]; then + hook_com[hg-bookmark-string]=" ☿ ${hgbmarks[@]}" + + # And to signal, that we want to use the sting we just generated, + # set the special variable `ret' to something other than the default + # zero: + ret=1 + return 0 + fi } function +vi-vcs-detect-changes() { -- cgit v1.2.3 From 166dec2c7633b90cfae07fd704b230e6880585a1 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 27 May 2015 21:56:06 +0200 Subject: More debugging hints added. --- powerlevel9k.zsh-theme | 1 + 1 file changed, 1 insertion(+) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d1e927c8..34819b4e 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -117,6 +117,7 @@ fi ## Debugging #zstyle ':vcs_info:*+*:*' debug true +#set -o xtrace ################################################################ # Prompt Segment Constructors -- cgit v1.2.3 From ac048b2951b87c8b2e77db81eef5848a26d92128 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 3 Jun 2015 00:22:41 +0200 Subject: Modified Theme to support awesome-powerline-fonts as well as non-powerline-fonts. --- powerlevel9k.zsh-theme | 178 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 134 insertions(+), 44 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d1e927c8..d79b5a00 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -8,9 +8,6 @@ # # The `vcs_info` hooks in this file are from Tom Upton: # https://github.com/tupton/dotfiles/blob/master/zsh/zshrc -# -# In order for this theme to render correctly, you will need a Powerline-patched font: -# https://github.com/Lokaltog/powerline-fonts ################################################################ ################################################################ @@ -49,11 +46,108 @@ CURRENT_BG='NONE' # These characters require the Powerline fonts to work properly. If see boxes or -# bizarre characters below, your fonts are not correctly installed. -LEFT_SEGMENT_SEPARATOR='' -RIGHT_SEGMENT_SEPARATOR='' -VCS_UNSTAGED_ICON='●' -VCS_STAGED_ICON='✚' +# bizarre characters below, your fonts are not correctly installed. In case you +# do not want to install a special font, you can set `POWERLEVEL9K_MODE` to +# `compatible`. This shows all icons in regular symbols. +case $POWERLEVEL9K_MODE in + 'flat') + LEFT_SEGMENT_SEPARATOR='' + RIGHT_SEGMENT_SEPARATOR='' + ROOT_ICON="\uE801" #  + RUBY_ICON="\uE847" #  + AWS_ICON="\uE895" #  + BACKGROUND_JOBS_ICON="\uE82F " #  + TEST_ICON="\uE891" #  + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ + VCS_UNSTAGED_ICON="\uE16C" #  + VCS_STAGED_ICON="\uE168" #  + VCS_STASH_ICON="\uE133 " #  + #VCS_INCOMING_CHANGES="\uE1EB " #  + VCS_INCOMING_CHANGES="\uE80D " #  + #VCS_OUTGOING_CHANGES="\uE1EC " #  + VCS_OUTGOING_CHANGES="\uE80E " #  + VCS_TAG_ICON="\uE817 " #  + VCS_BOOKMARK_ICON="\uE87B" #  + VCS_COMMIT_ICON="\uE821 " #  + VCS_BRANCH_ICON=" \uE220" #  + VCS_REMOTE_BRANCH_ICON="\uE804" #  + VCS_GIT_ICON="\uE20E" #  + VCS_HG_ICON="\uE1C3" #  + ;; + 'compatible') + LEFT_SEGMENT_SEPARATOR="\u2B80" # ⮀ + RIGHT_SEGMENT_SEPARATOR="\u2B82" # ⮂ + ROOT_ICON='*R*' + RUBY_ICON='' + AWS_ICON="AWS:" + BACKGROUND_JOBS_ICON="\u2699" # ⚙ + TEST_ICON='' + OK_ICON='' + FAIL_ICON='x' + VCS_UNSTAGED_ICON="\u25CF" # ● + VCS_STAGED_ICON="\u271A" # ✚ + VCS_INCOMING_CHANGES="\u2193" # ↓ + VCS_OUTGOING_CHANGES="\u2191" # ↑ + VCS_TAG_ICON='' + VCS_BOOKMARK_ICON='' + VCS_COMMIT_ICON='' + VCS_BRANCH_ICON='@' + VCS_REMOTE_BRANCH_ICON="\u2192" # → + VCS_GIT_ICON='Git' + VCS_HG_ICON='HG' + ;; + 'awesome-patched') + # Awesome-Patched Font required! See https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched + LEFT_SEGMENT_SEPARATOR="\uE0B0" #  + RIGHT_SEGMENT_SEPARATOR="\uE0B2" #  + ROOT_ICON="\u26A1" # ⚡ + RUBY_ICON="\uE847" #  + AWS_ICON="\uE895" #  + BACKGROUND_JOBS_ICON="\uE82F " #  + TEST_ICON="\uE891" #  + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ + VCS_UNSTAGED_ICON="\uE16C" #  + VCS_STAGED_ICON="\uE168" #  + VCS_STASH_ICON="\uE133 " #  + #VCS_INCOMING_CHANGES="\uE1EB " #  + VCS_INCOMING_CHANGES="\uE80D " #  + #VCS_OUTGOING_CHANGES="\uE1EC " #  + VCS_OUTGOING_CHANGES="\uE80E " #  + VCS_TAG_ICON="\uE817 " #  + VCS_BOOKMARK_ICON="\uE87B" #  + VCS_COMMIT_ICON="\uE821 " #  + VCS_BRANCH_ICON=" \uE220" #  + VCS_REMOTE_BRANCH_ICON="\uE804" #  + VCS_GIT_ICON="\uE20E" #  + VCS_HG_ICON="\uE1C3" #  + ;; + *) + # Powerline-Patched Font required! See https://github.com/Lokaltog/powerline-fonts + LEFT_SEGMENT_SEPARATOR="\uE0B0" #  + RIGHT_SEGMENT_SEPARATOR="\uE0B2" #  + ROOT_ICON="\u26A1" # ⚡ + RUBY_ICON='' + AWS_ICON="AWS:" + BACKGROUND_JOBS_ICON="\u2699" # ⚙ + TEST_ICON='' + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ + VCS_UNSTAGED_ICON="\u25CF" # ● + VCS_STAGED_ICON="\u271A" # ✚ + VCS_STASH_ICON="\u235F" # ⍟ + VCS_INCOMING_CHANGES="\u2193" # ↓ + VCS_OUTGOING_CHANGES="\u2191" # ↑ + VCS_TAG_ICON='' + VCS_BOOKMARK_ICON="\u263F" # ☿ + VCS_COMMIT_ICON='' + VCS_BRANCH_ICON='@' + VCS_REMOTE_BRANCH_ICON="\u2192" # → + VCS_GIT_ICON="\uE0A0" #  + VCS_HG_ICON="\uE0A0" #  + ;; +esac ################################################################ # color scheme @@ -86,13 +180,16 @@ if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then VCS_CHANGESET_HASH_LENGTH=$POWERLEVEL9K_CHANGESET_HASH_LENGTH fi - VCS_CHANGESET_PREFIX="%F{$DEFAULT_COLOR_DARK}%0.$VCS_CHANGESET_HASH_LENGTH""i@%f" + VCS_CHANGESET_PREFIX="%F{$DEFAULT_COLOR_DARK}$VCS_COMMIT_ICON%0.$VCS_CHANGESET_HASH_LENGTH""i%f" fi zstyle ':vcs_info:*' enable git hg zstyle ':vcs_info:*' check-for-changes true -zstyle ':vcs_info:*' formats " $VCS_CHANGESET_PREFIX%F{$DEFAULT_COLOR}%b%c%u%m%f" +local VCS_DEFAULT_FORMAT="$VCS_CHANGESET_PREFIX%F{$DEFAULT_COLOR}%b%c%u%m%f" +zstyle ':vcs_info:git:*' formats "%F{$DEFAULT_COLOR}$VCS_GIT_ICON%f $VCS_DEFAULT_FORMAT" +zstyle ':vcs_info:hg:*' formats "%F{$DEFAULT_COLOR}$VCS_HG_ICON%f $VCS_DEFAULT_FORMAT" + zstyle ':vcs_info:*' actionformats " %b %F{red}| %a%f" zstyle ':vcs_info:*' stagedstr " %F{$DEFAULT_COLOR}$VCS_STAGED_ICON%f" @@ -101,7 +198,7 @@ zstyle ':vcs_info:*' unstagedstr " %F{$DEFAULT_COLOR}$VCS_UNSTAGED_ICON%f" zstyle ':vcs_info:git*+set-message:*' hooks git-untracked git-aheadbehind git-stash git-remotebranch git-tagname # For Hg, only show the branch name -zstyle ':vcs_info:hg*:*' branchformat "%b" +zstyle ':vcs_info:hg*:*' branchformat "$VCS_BRANCH_ICON%b" # The `get-revision` function must be turned on for dirty-check to work for Hg zstyle ':vcs_info:hg*:*' get-revision true zstyle ':vcs_info:hg*:*' get-bookmarks true @@ -174,17 +271,10 @@ prompt_vcs() { $1_prompt_segment green $DEFAULT_COLOR fi - echo -n "%F{$DEFAULT_COLOR}%f$vcs_prompt" + echo -n "%F{$DEFAULT_COLOR}%f$vcs_prompt" fi } -function +vi-git-untracked() { - if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' && \ - $(git ls-files --others --exclude-standard | sed q | wc -l | tr -d ' ') != 0 ]]; then - hook_com[unstaged]+=" %F{$DEFAULT_COLOR}?%f" - fi -} - function +vi-git-aheadbehind() { local ahead behind branch_name local -a gitstatus @@ -194,12 +284,12 @@ function +vi-git-aheadbehind() { # for git prior to 1.7 # ahead=$(git rev-list origin/${branch_name}..HEAD | wc -l) ahead=$(git rev-list ${branch_name}@{upstream}..HEAD 2>/dev/null | wc -l | tr -d ' ') - (( $ahead )) && gitstatus+=( " %F{$DEFAULT_COLOR}↑${ahead// /}%f" ) + (( $ahead )) && gitstatus+=( " %F{$DEFAULT_COLOR}$VCS_OUTGOING_CHANGES${ahead// /}%f" ) # for git prior to 1.7 # behind=$(git rev-list HEAD..origin/${branch_name} | wc -l) behind=$(git rev-list HEAD..${branch_name}@{upstream} 2>/dev/null | wc -l | tr -d ' ') - (( $behind )) && gitstatus+=( " %F{$DEFAULT_COLOR}↓${behind// /}%f" ) + (( $behind )) && gitstatus+=( " %F{$DEFAULT_COLOR}$VCS_INCOMING_CHANGES${behind// /}%f" ) hook_com[misc]+=${(j::)gitstatus} } @@ -211,12 +301,12 @@ function +vi-git-remotebranch() { remote=${$(git rev-parse --verify HEAD@{upstream} --symbolic-full-name 2>/dev/null)/refs\/(remotes|heads)\/} branch_name=${$(git symbolic-ref --short HEAD 2>/dev/null)} - hook_com[branch]="%F{$DEFAULT_COLOR}${hook_com[branch]}%f" + hook_com[branch]="%F{$DEFAULT_COLOR}$VCS_BRANCH_ICON${hook_com[branch]}%f" # Always show the remote #if [[ -n ${remote} ]] ; then # Only show the remote if it differs from the local if [[ -n ${remote} && ${remote#*/} != ${branch_name} ]] ; then - hook_com[branch]+="%F{$DEFAULT_COLOR}→%f%F{$DEFAULT_COLOR}${remote// /}%f" + hook_com[branch]+="%F{$DEFAULT_COLOR}$VCS_REMOTE_BRANCH_ICON%f%F{$DEFAULT_COLOR}${remote// /}%f" fi } @@ -224,7 +314,7 @@ function +vi-git-tagname() { local tag tag=$(git describe --tags --exact-match HEAD 2>/dev/null) - [[ -n ${tag} ]] && hook_com[branch]=" %F{$DEFAULT_COLOR}${tag}%f" + [[ -n ${tag} ]] && hook_com[branch]=" %F{$DEFAULT_COLOR}$VCS_TAG_ICON${tag}%f" } # Show count of stashed changes @@ -234,20 +324,20 @@ function +vi-git-stash() { if [[ -s $(git rev-parse --git-dir)/refs/stash ]] ; then stashes=$(git stash list 2>/dev/null | wc -l) - hook_com[misc]+=" %F{$DEFAULT_COLOR}⍟${stashes// /}%f" + hook_com[misc]+=" %F{$DEFAULT_COLOR}$VCS_STASH_ICON${stashes// /}%f" fi } function +vi-hg-bookmarks() { - if [[ -n "${hgbmarks[@]}" ]]; then - hook_com[hg-bookmark-string]=" ☿ ${hgbmarks[@]}" - - # And to signal, that we want to use the sting we just generated, - # set the special variable `ret' to something other than the default - # zero: - ret=1 - return 0 - fi + if [[ -n "${hgbmarks[@]}" ]]; then + hook_com[hg-bookmark-string]=" $VCS_BOOKMARK_ICON ${hgbmarks[@]}" + + # And to signal, that we want to use the sting we just generated, + # set the special variable `ret' to something other than the default + # zero: + ret=1 + return 0 + fi } function +vi-vcs-detect-changes() { @@ -267,7 +357,7 @@ prompt_aws() { local aws_profile=$AWS_DEFAULT_PROFILE if [[ -n $aws_profile ]]; then - $1_prompt_segment red white "AWS: $aws_profile" + $1_prompt_segment red white "$AWS_ICON $aws_profile" fi } @@ -300,12 +390,12 @@ prompt_longstatus() { symbols+="%{%F{"226"}%}%? ↵" bg="009" else - symbols+="%{%F{"046"}%}✓" + symbols+="%{%F{"046"}%}$OK_ICON" bg="008" fi - [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" - [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%} $ROOT_ICON" + [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}$BACKGROUND_JOBS_ICON" [[ -n "$symbols" ]] && $1_prompt_segment $bg $DEFAULT_COLOR "$symbols" } @@ -323,7 +413,7 @@ prompt_rspec_stats() { local code_amount=$(ls -1 app/**/*.rb | wc -l) local tests_amount=$(ls -1 spec/**/*.rb | wc -l) - build_test_stats $1 $code_amount $tests_amount "RSpec" + build_test_stats $1 $code_amount $tests_amount "RSpec $TEST_ICON" fi } @@ -332,7 +422,7 @@ prompt_rvm() { local rvm_prompt rvm_prompt=`rvm-prompt` if [ "$rvm_prompt" != "" ]; then - $1_prompt_segment "240" $DEFAULT_COLOR "$rvm_prompt " + $1_prompt_segment "240" $DEFAULT_COLOR "$rvm_prompt $RUBY_ICON " fi } @@ -341,9 +431,9 @@ prompt_rvm() { prompt_status() { local symbols symbols=() - [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" - [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" - [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}$FAIL_ICON" + [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%} $ROOT_ICON" + [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}$BACKGROUND_JOBS_ICON" [[ -n "$symbols" ]] && $1_prompt_segment $DEFAULT_COLOR default "$symbols" } @@ -354,7 +444,7 @@ prompt_symfony2_tests() { local code_amount=$(ls -1 src/**/*.php | grep -v Tests | wc -l) local tests_amount=$(ls -1 src/**/*.php | grep Tests | wc -l) - build_test_stats $1 $code_amount $tests_amount "SF2-Tests" + build_test_stats $1 $code_amount $tests_amount "SF2 $TEST_ICON" fi } -- cgit v1.2.3 From 84cfc66c33a1e76fd8becc712a6cca8e5704d596 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 3 Jun 2015 11:45:51 +0200 Subject: Accidentally removed git-untracked hook. --- powerlevel9k.zsh-theme | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d79b5a00..f79155e2 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -60,7 +60,8 @@ case $POWERLEVEL9K_MODE in TEST_ICON="\uE891" #  OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ - VCS_UNSTAGED_ICON="\uE16C" #  + VCS_UNTRACKED_ICON="\uE16C" #  + VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  VCS_STASH_ICON="\uE133 " #  #VCS_INCOMING_CHANGES="\uE1EB " #  @@ -85,6 +86,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON='' OK_ICON='' FAIL_ICON='x' + VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ VCS_INCOMING_CHANGES="\u2193" # ↓ @@ -108,7 +110,8 @@ case $POWERLEVEL9K_MODE in TEST_ICON="\uE891" #  OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ - VCS_UNSTAGED_ICON="\uE16C" #  + VCS_UNTRACKED_ICON="\uE16C" #  + VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  VCS_STASH_ICON="\uE133 " #  #VCS_INCOMING_CHANGES="\uE1EB " #  @@ -134,6 +137,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON='' OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ + VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ VCS_STASH_ICON="\u235F" # ⍟ @@ -275,6 +279,13 @@ prompt_vcs() { fi } +function +vi-git-untracked() { + if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' && \ + $(git ls-files --others --exclude-standard | sed q | wc -l | tr -d ' ') != 0 ]]; then + hook_com[unstaged]+=" %F{$DEFAULT_COLOR}$VCS_UNTRACKED_ICON%f" + fi +} + function +vi-git-aheadbehind() { local ahead behind branch_name local -a gitstatus -- cgit v1.2.3 From a0d48b5c2e02537fc8f997f11a861bc4c5c264b2 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 3 Jun 2015 11:48:55 +0200 Subject: Better Icons for incoming/outgoing. --- powerlevel9k.zsh-theme | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index f79155e2..00f3be8e 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -65,9 +65,11 @@ case $POWERLEVEL9K_MODE in VCS_STAGED_ICON="\uE168" #  VCS_STASH_ICON="\uE133 " #  #VCS_INCOMING_CHANGES="\uE1EB " #  - VCS_INCOMING_CHANGES="\uE80D " #  + #VCS_INCOMING_CHANGES="\uE80D " #  + VCS_INCOMING_CHANGES="\uE131 " #  #VCS_OUTGOING_CHANGES="\uE1EC " #  - VCS_OUTGOING_CHANGES="\uE80E " #  + #VCS_OUTGOING_CHANGES="\uE80E " #  + VCS_OUTGOING_CHANGES="\uE132 " #  VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  @@ -115,9 +117,11 @@ case $POWERLEVEL9K_MODE in VCS_STAGED_ICON="\uE168" #  VCS_STASH_ICON="\uE133 " #  #VCS_INCOMING_CHANGES="\uE1EB " #  - VCS_INCOMING_CHANGES="\uE80D " #  + #VCS_INCOMING_CHANGES="\uE80D " #  + VCS_INCOMING_CHANGES="\uE131 " #  #VCS_OUTGOING_CHANGES="\uE1EC " #  - VCS_OUTGOING_CHANGES="\uE80E " #  + #VCS_OUTGOING_CHANGES="\uE80E " #  + VCS_OUTGOING_CHANGES="\uE132 " #  VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  -- cgit v1.2.3 From 46260ffc896aae3cc87845d9f5435eaec9bbb4e9 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 3 Jun 2015 11:51:09 +0200 Subject: A bit more whitespace. --- powerlevel9k.zsh-theme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 00f3be8e..96bc1375 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -75,8 +75,8 @@ case $POWERLEVEL9K_MODE in VCS_COMMIT_ICON="\uE821 " #  VCS_BRANCH_ICON=" \uE220" #  VCS_REMOTE_BRANCH_ICON="\uE804" #  - VCS_GIT_ICON="\uE20E" #  - VCS_HG_ICON="\uE1C3" #  + VCS_GIT_ICON="\uE20E " #  + VCS_HG_ICON="\uE1C3 " #  ;; 'compatible') LEFT_SEGMENT_SEPARATOR="\u2B80" # ⮀ @@ -127,8 +127,8 @@ case $POWERLEVEL9K_MODE in VCS_COMMIT_ICON="\uE821 " #  VCS_BRANCH_ICON=" \uE220" #  VCS_REMOTE_BRANCH_ICON="\uE804" #  - VCS_GIT_ICON="\uE20E" #  - VCS_HG_ICON="\uE1C3" #  + VCS_GIT_ICON="\uE20E " #  + VCS_HG_ICON="\uE1C3 " #  ;; *) # Powerline-Patched Font required! See https://github.com/Lokaltog/powerline-fonts -- cgit v1.2.3 From 77cbe9a6f07a81602e47eeab107c34ba6c7b8990 Mon Sep 17 00:00:00 2001 From: Ben Hilburn Date: Wed, 3 Jun 2015 17:09:14 -0700 Subject: simplifying user-defined color logic for VCS segment --- powerlevel9k.zsh-theme | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index c624a072..f65143a1 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -70,18 +70,16 @@ else DEFAULT_COLOR_DARK="236" fi -# Unfortunately the foreground colors for the VCS segment have -# to be overwritten at this point. -# Overwrite given foreground-color by user defined variable for this segment. local VCS_FOREGROUND_COLOR=$DEFAULT_COLOR -local VCS_FOREGROUND_USER_VARIABLE=POWERLEVEL9K_VCS_FOREGROUND -local VCS_FG_COLOR_MODIFIER=${(P)VCS_FOREGROUND_USER_VARIABLE} -[[ -n $VCS_FG_COLOR_MODIFIER ]] && VCS_FOREGROUND_COLOR=$VCS_FG_COLOR_MODIFIER - local VCS_FOREGROUND_COLOR_DARK=$DEFAULT_COLOR_DARK -local VCS_FOREGROUND_USER_VARIABLE_DARK=POWERLEVEL9K_VCS_DARK_FOREGROUND -local VCS_FG_DARK_COLOR_MODIFIER=${(P)VCS_FOREGROUND_USER_VARIABLE_DARK} -[[ -n $VCS_FG_DARK_COLOR_MODIFIER ]] && VCS_FOREGROUND_COLOR_DARK=$VCS_FG_DARK_COLOR_MODIFIER + +# If user has defined custom colors for the `vcs` segment, override the defaults +if [[ -n $POWERLEVEL9K_VCS_FOREGROUND ]]; then + VCS_FOREGROUND_COLOR=$POWERLEVEL9K_VCS_FOREGROUND +fi +if [[ -n $POWERLEVEL9K_VCS_DARK_FOREGROUND ]]; then + VCS_FOREGROUND_COLOR_DARK=$POWERLEVEL9K_VCS_DARK_FOREGROUND +fi ################################################################ # VCS Information Settings @@ -140,10 +138,6 @@ fi # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. left_prompt_segment() { -# Unfortunately that doesn't work. But it should. The Example in -# http://zsh.sourceforge.net/FAQ/zshfaq03.html#l39 is quite similar. -# local BG_COLOR_MODIFIER=${(P)POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND} - # Overwrite given background-color by user defined variable for this segment. # We get as first Parameter the function name, which called this function. # From the given function name, we strip the "prompt_"-prefix and uppercase it. -- cgit v1.2.3 From abed8905f4a2855960530e57ad2f91f0c1f6332b Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Thu, 4 Jun 2015 04:46:49 +0200 Subject: Mercurial-Bookmarks should also appear in the current foreground color. --- powerlevel9k.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 1609e1c6..61c8ede2 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -382,7 +382,7 @@ function +vi-git-stash() { function +vi-hg-bookmarks() { if [[ -n "${hgbmarks[@]}" ]]; then - hook_com[hg-bookmark-string]=" $VCS_BOOKMARK_ICON ${hgbmarks[@]}" + hook_com[hg-bookmark-string]=" %F{$VCS_FOREGROUND_COLOR}$VCS_BOOKMARK_ICON${hgbmarks[@]}%f" # And to signal, that we want to use the sting we just generated, # set the special variable `ret' to something other than the default -- cgit v1.2.3 From d8d9e6cfda414c9fa95a770b8e8fbf42499f3d43 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 5 Jun 2015 09:00:32 +0200 Subject: Added variable for completeness. --- powerlevel9k.zsh-theme | 1 + 1 file changed, 1 insertion(+) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 61c8ede2..92bbf405 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -91,6 +91,7 @@ case $POWERLEVEL9K_MODE in VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ + VCS_STASH_ICON='' VCS_INCOMING_CHANGES="\u2193" # ↓ VCS_OUTGOING_CHANGES="\u2191" # ↑ VCS_TAG_ICON='' -- cgit v1.2.3 From 7bf7ab94b6ddf91e95e7400c1141dd5d9e3557fc Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 5 Jun 2015 18:56:11 +0200 Subject: Fix for Issue #33. Now the RPROMPT is on the first line. --- powerlevel9k.zsh-theme | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index f65143a1..a35292a8 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -470,7 +470,15 @@ precmd() { if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then PROMPT='╭─%{%f%b%k%}$(build_left_prompt) ╰─ ' + # The right prompt should be on the same line as the first line of the left prompt. + # To do so, there is just a quite ugly workaround: Before zsh draws the RPROMPT, + # we advise it, to go one line up. At the end of RPROMPT, we advise it to go one + # line down. See http://superuser.com/questions/357107/zsh-right-justify-in-ps1 + RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up + RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down else PROMPT='%{%f%b%k%}$(build_left_prompt) ' + RPROMPT_PREFIX='' + RPROMPT_SUFFIX='' fi -RPROMPT='%{%f%b%k%}$(build_right_prompt)%{$reset_color%}' +RPROMPT=$RPROMPT_PREFIX'%{%f%b%k%}$(build_right_prompt)%{$reset_color%}'$RPROMPT_SUFFIX -- cgit v1.2.3 From 3e41f292236336b8b67d329a6c7d86fc8b072320 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 5 Jun 2015 19:02:07 +0200 Subject: Formatting. --- powerlevel9k.zsh-theme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index a35292a8..df0319c7 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -471,14 +471,14 @@ if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then PROMPT='╭─%{%f%b%k%}$(build_left_prompt) ╰─ ' # The right prompt should be on the same line as the first line of the left prompt. - # To do so, there is just a quite ugly workaround: Before zsh draws the RPROMPT, - # we advise it, to go one line up. At the end of RPROMPT, we advise it to go one - # line down. See http://superuser.com/questions/357107/zsh-right-justify-in-ps1 + # To do so, there is just a quite ugly workaround: Before zsh draws the RPROMPT, + # we advise it, to go one line up. At the end of RPROMPT, we advise it to go one + # line down. See http://superuser.com/questions/357107/zsh-right-justify-in-ps1 RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up - RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down + RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down else PROMPT='%{%f%b%k%}$(build_left_prompt) ' - RPROMPT_PREFIX='' - RPROMPT_SUFFIX='' + RPROMPT_PREFIX='' + RPROMPT_SUFFIX='' fi RPROMPT=$RPROMPT_PREFIX'%{%f%b%k%}$(build_right_prompt)%{$reset_color%}'$RPROMPT_SUFFIX -- cgit v1.2.3 From d65aea3a64f125b9f9768218a9165b591d49e46c Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 5 Jun 2015 19:23:32 +0200 Subject: Added more Icons, that work in `compatible` mode. --- README.md | 4 ++-- powerlevel9k.zsh-theme | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index c62b7da0..dbcb14f6 100644 --- a/README.md +++ b/README.md @@ -165,12 +165,12 @@ set. |--------------|---------------------|-------------------|-------------------------- | `↑4` | `↑4` | ![icon_outgoing](https://cloud.githubusercontent.com/assets/1544760/7976089/b5904d6e-0a76-11e5-8147-5e873ac52d79.gif)4 | Number of commits your repository is ahead of your remote branch | `↓5` | `↓5` | ![icon_incoming](https://cloud.githubusercontent.com/assets/1544760/7976091/b5909c9c-0a76-11e5-9cad-9bf0a28a897c.gif)5 | Number of commits your repository is behind of your remote branch -| None | `⍟3` | ![icon_stash](https://cloud.githubusercontent.com/assets/1544760/7976094/b5ae9346-0a76-11e5-8cc7-e98b81824118.gif)3 | Number of stashes, here 3. +| `⍟3` | `⍟3` | ![icon_stash](https://cloud.githubusercontent.com/assets/1544760/7976094/b5ae9346-0a76-11e5-8cc7-e98b81824118.gif)3 | Number of stashes, here 3. | `●` | `●` | ![icon_unstaged](https://cloud.githubusercontent.com/assets/1544760/7976096/b5aefa98-0a76-11e5-9408-985440471215.gif) | There are unstaged changes in your working copy | `✚` | `✚` | ![icon_staged](https://cloud.githubusercontent.com/assets/1544760/7976095/b5aecc8a-0a76-11e5-8988-221afc6e8982.gif) | There are staged changes in your working copy | `?` | `?` | ![icon_untracked](https://cloud.githubusercontent.com/assets/1544760/7976098/b5c7a2e6-0a76-11e5-8c5b-315b595b2bc4.gif) | There are files in your working copy, that are unknown to your repository | `→` | `→` | ![icon_remote_tracking_branch](https://cloud.githubusercontent.com/assets/1544760/7976093/b5ad2c0e-0a76-11e5-9cd3-62a077b1b0c7.gif) | The name of your branch differs from its tracking branch. -| None | `☿` | ![icon_bookmark](https://cloud.githubusercontent.com/assets/1544760/7976197/546cfac6-0a78-11e5-88a6-ce3a1e0a174e.gif) | A mercurial bookmark is active. +| `☿` | `☿` | ![icon_bookmark](https://cloud.githubusercontent.com/assets/1544760/7976197/546cfac6-0a78-11e5-88a6-ce3a1e0a174e.gif) | A mercurial bookmark is active. | `@` | ![icon_branch_powerline](https://cloud.githubusercontent.com/assets/1544760/8000852/e7e8d8a0-0b5f-11e5-9834-de9b25c92284.gif) | ![](https://cloud.githubusercontent.com/assets/1544760/7976087/b58bbe3e-0a76-11e5-8d0d-7a5c1bc7f730.gif) | Branch Icon | None | None | ![icon_commit](https://cloud.githubusercontent.com/assets/1544760/7976088/b58f4e50-0a76-11e5-9e70-86450d937030.gif)2c3705 | The current commit hash. Here "2c3705" | None | None | ![icon_git](https://cloud.githubusercontent.com/assets/1544760/7976092/b5909f80-0a76-11e5-9950-1438b9d72465.gif) | Repository is a git repository diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 04e7183d..a02e9d4b 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -58,8 +58,8 @@ case $POWERLEVEL9K_MODE in AWS_ICON="\uE895" #  BACKGROUND_JOBS_ICON="\uE82F " #  TEST_ICON="\uE891" #  - OK_ICON="\u2713" # ✓ - FAIL_ICON="\u2718" # ✘ + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ VCS_UNTRACKED_ICON="\uE16C" #  VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  @@ -81,21 +81,21 @@ case $POWERLEVEL9K_MODE in 'compatible') LEFT_SEGMENT_SEPARATOR="\u2B80" # ⮀ RIGHT_SEGMENT_SEPARATOR="\u2B82" # ⮂ - ROOT_ICON='*R*' + ROOT_ICON="\u26A1" # ⚡ RUBY_ICON='' AWS_ICON="AWS:" BACKGROUND_JOBS_ICON="\u2699" # ⚙ TEST_ICON='' - OK_ICON='' - FAIL_ICON='x' + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ - VCS_STASH_ICON='' + VCS_STASH_ICON="\u235F" # ⍟ VCS_INCOMING_CHANGES="\u2193" # ↓ VCS_OUTGOING_CHANGES="\u2191" # ↑ VCS_TAG_ICON='' - VCS_BOOKMARK_ICON='' + VCS_BOOKMARK_ICON="\u263F" # ☿ VCS_COMMIT_ICON='' VCS_BRANCH_ICON='@' VCS_REMOTE_BRANCH_ICON="\u2192" # → @@ -111,8 +111,8 @@ case $POWERLEVEL9K_MODE in AWS_ICON="\uE895" #  BACKGROUND_JOBS_ICON="\uE82F " #  TEST_ICON="\uE891" #  - OK_ICON="\u2713" # ✓ - FAIL_ICON="\u2718" # ✘ + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ VCS_UNTRACKED_ICON="\uE16C" #  VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  @@ -140,8 +140,8 @@ case $POWERLEVEL9K_MODE in AWS_ICON="AWS:" BACKGROUND_JOBS_ICON="\u2699" # ⚙ TEST_ICON='' - OK_ICON="\u2713" # ✓ - FAIL_ICON="\u2718" # ✘ + OK_ICON="\u2713" # ✓ + FAIL_ICON="\u2718" # ✘ VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ -- cgit v1.2.3 From 9a507fbdae016d1250f5a63c705361c207bee290 Mon Sep 17 00:00:00 2001 From: Ben Hilburn Date: Fri, 5 Jun 2015 17:26:00 -0700 Subject: Minor changes to docs in README and theme file. --- README.md | 4 ++-- powerlevel9k.zsh-theme | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index c7fdb61d..e74adf7e 100644 --- a/README.md +++ b/README.md @@ -100,8 +100,8 @@ necessary. #### Alternative Configuration: Über Alternatively, you can install [Awesome Powerline -Fonts](https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched), -which provide a number of additional glyphs. +Fonts](https://github.com/gabrielelana/awesome-terminal-fonts), which provide +a number of additional glyphs. You then need to indicate that you wish to use the additional glyphs by defining the following in your `~/.zshrc`: diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index a02e9d4b..0fb515fe 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -46,11 +46,13 @@ CURRENT_BG='NONE' # These characters require the Powerline fonts to work properly. If see boxes or -# bizarre characters below, your fonts are not correctly installed. In case you +# bizarre characters below, your fonts are not correctly installed. If you # do not want to install a special font, you can set `POWERLEVEL9K_MODE` to # `compatible`. This shows all icons in regular symbols. case $POWERLEVEL9K_MODE in 'flat') + # Awesome-Patched Font required! + # See https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched LEFT_SEGMENT_SEPARATOR='' RIGHT_SEGMENT_SEPARATOR='' ROOT_ICON="\uE801" #  @@ -103,7 +105,8 @@ case $POWERLEVEL9K_MODE in VCS_HG_ICON='HG' ;; 'awesome-patched') - # Awesome-Patched Font required! See https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched + # Awesome-Patched Font required! + # See https://github.com/gabrielelana/awesome-terminal-fonts/tree/patching-strategy/patched LEFT_SEGMENT_SEPARATOR="\uE0B0" #  RIGHT_SEGMENT_SEPARATOR="\uE0B2" #  ROOT_ICON="\u26A1" # ⚡ @@ -132,7 +135,8 @@ case $POWERLEVEL9K_MODE in VCS_HG_ICON="\uE1C3 " #  ;; *) - # Powerline-Patched Font required! See https://github.com/Lokaltog/powerline-fonts + # Powerline-Patched Font required! + # See https://github.com/Lokaltog/powerline-fonts LEFT_SEGMENT_SEPARATOR="\uE0B0" #  RIGHT_SEGMENT_SEPARATOR="\uE0B2" #  ROOT_ICON="\u26A1" # ⚡ -- cgit v1.2.3 From 86db2731886c6c8882cb6b3f1fd9c5bf94d94632 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 6 Jun 2015 18:18:35 +0200 Subject: Cleaned up whitespaces: Now the whitespaces are controlled by the functions that draw the segments (except vcs). This makes it more flexible, and you don't get unwanted whitespaces, when flipping segments from one side to another. --- powerlevel9k.zsh-theme | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index a02e9d4b..800faec9 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -263,22 +263,24 @@ left_prompt_segment() { [[ -n $2 ]] && bg="%K{$2}" || bg="%k" [[ -n $3 ]] && fg="%F{$3}" || fg="%f" if [[ $CURRENT_BG != 'NONE' && $2 != $CURRENT_BG ]]; then + # Middle segment echo -n "%{$bg%F{$CURRENT_BG}%}$LEFT_SEGMENT_SEPARATOR%{$fg%} " else + # First segment echo -n "%{$bg%}%{$fg%} " fi CURRENT_BG=$2 - [[ -n $4 ]] && echo -n $4 + [[ -n $4 ]] && echo -n "$4 " } # End the left prompt, closing any open segments left_prompt_end() { if [[ -n $CURRENT_BG ]]; then - echo -n " %{%k%F{$CURRENT_BG}%}$LEFT_SEGMENT_SEPARATOR" + echo -n "%{%k%F{$CURRENT_BG}%}$LEFT_SEGMENT_SEPARATOR" else - echo -n " %{%k%}" + echo -n "%{%k%}" fi - echo -n "%{%f%}" + echo -n "%{%f%} " CURRENT_BG='' } @@ -300,8 +302,8 @@ right_prompt_segment() { local bg fg [[ -n $2 ]] && bg="%K{$2}" || bg="%k" [[ -n $3 ]] && fg="%F{$3}" || fg="%f" - echo -n " %f%F{$2}$RIGHT_SEGMENT_SEPARATOR%f%{$bg%}%{$fg%} " - [[ -n $4 ]] && echo -n $4 + echo -n "%f%F{$2}$RIGHT_SEGMENT_SEPARATOR%f%{$bg%}%{$fg%} " + [[ -n $4 ]] && echo -n "$4 " } ################################################################ @@ -317,7 +319,7 @@ prompt_vcs() { $1_prompt_segment $0 green $DEFAULT_COLOR fi - echo -n "%F{$VCS_FOREGROUND_COLOR}%f$vcs_prompt" + echo -n "%F{$VCS_FOREGROUND_COLOR}%f$vcs_prompt " fi } @@ -523,7 +525,7 @@ prompt_time() { time_format=$POWERLEVEL9K_TIME_FORMAT fi - $1_prompt_segment $0 $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$time_format " + $1_prompt_segment $0 $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR $time_format } # Virtualenv: current working virtualenv @@ -583,7 +585,7 @@ if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down else - PROMPT='%{%f%b%k%}$(build_left_prompt) ' + PROMPT='%{%f%b%k%}$(build_left_prompt)' RPROMPT_PREFIX='' RPROMPT_SUFFIX='' fi -- cgit v1.2.3 From 945412480ef05502ce14f716dd755860f1394ab8 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 6 Jun 2015 19:38:20 +0200 Subject: Reordering code. --- powerlevel9k.zsh-theme | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d5ce60bb..34470e2a 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -40,10 +40,9 @@ # POWERLEVEL9K_COLOR_SCHEME='light' ################################################################ -# The `CURRENT_BG` variable is used to remember what the last BG color used was -# when building the left-hand prompt. Because the RPROMPT is created from -# right-left but reads the opposite, this isn't necessary for the other side. -CURRENT_BG='NONE' +## Debugging +#zstyle ':vcs_info:*+*:*' debug true +#set -o xtrace # These characters require the Powerline fonts to work properly. If see boxes or # bizarre characters below, your fonts are not correctly installed. If you @@ -236,10 +235,6 @@ else zstyle ':vcs_info:*' use-simple true fi -## Debugging -#zstyle ':vcs_info:*+*:*' debug true -#set -o xtrace - ################################################################ # Prompt Segment Constructors ################################################################ @@ -411,6 +406,11 @@ function +vi-vcs-detect-changes() { # Prompt Segments ################################################################ +# The `CURRENT_BG` variable is used to remember what the last BG color used was +# when building the left-hand prompt. Because the RPROMPT is created from +# right-left but reads the opposite, this isn't necessary for the other side. +CURRENT_BG='NONE' + # AWS Profile prompt_aws() { local aws_profile=$AWS_DEFAULT_PROFILE -- cgit v1.2.3 From 5592c90041c2791c4fa816d957a492ab6d2d71c6 Mon Sep 17 00:00:00 2001 From: Ben Hilburn Date: Mon, 8 Jun 2015 13:42:03 -0700 Subject: Removing the VCS_BRAND_INDICATOR by default --- powerlevel9k.zsh-theme | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 34470e2a..8055ce05 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -74,7 +74,8 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  - VCS_BRANCH_ICON=" \uE220" #  + #VCS_BRANCH_ICON=" \uE220" #  + VCS_BRANCH_ICON='' VCS_REMOTE_BRANCH_ICON="\uE804" #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  @@ -98,7 +99,8 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON='' VCS_BOOKMARK_ICON="\u263F" # ☿ VCS_COMMIT_ICON='' - VCS_BRANCH_ICON='@' + #VCS_BRANCH_ICON='@' + VCS_BRANCH_ICON='' VCS_REMOTE_BRANCH_ICON="\u2192" # → VCS_GIT_ICON='Git' VCS_HG_ICON='HG' @@ -128,7 +130,8 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  - VCS_BRANCH_ICON=" \uE220" #  + #VCS_BRANCH_ICON=" \uE220" #  + VCS_BRANCH_ICON='' VCS_REMOTE_BRANCH_ICON="\uE804" #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  @@ -154,7 +157,8 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON='' VCS_BOOKMARK_ICON="\u263F" # ☿ VCS_COMMIT_ICON='' - VCS_BRANCH_ICON='@' + #VCS_BRANCH_ICON='@' + VCS_BRANCH_ICON='' VCS_REMOTE_BRANCH_ICON="\u2192" # → VCS_GIT_ICON="\uE0A0" #  VCS_HG_ICON="\uE0A0" #  @@ -582,10 +586,11 @@ precmd() { if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then PROMPT='╭─%{%f%b%k%}$(build_left_prompt) ╰─ ' - # The right prompt should be on the same line as the first line of the left prompt. - # To do so, there is just a quite ugly workaround: Before zsh draws the RPROMPT, - # we advise it, to go one line up. At the end of RPROMPT, we advise it to go one - # line down. See http://superuser.com/questions/357107/zsh-right-justify-in-ps1 + # The right prompt should be on the same line as the first line of the left + # prompt. To do so, there is just a quite ugly workaround: Before zsh draws + # the RPROMPT, we advise it, to go one line up. At the end of RPROMPT, we + # advise it to go one line down. See: + # http://superuser.com/questions/357107/zsh-right-justify-in-ps1 RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down else -- cgit v1.2.3