From d01d718bd6da4446d528262192e78fcfa6a9ebed Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 27 May 2015 21:03:02 +0200 Subject: Modified code to work with prezto. --- powerlevel9k.zsh-theme | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d1e927c8..b7157f75 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -423,17 +423,29 @@ build_right_prompt() { done } -precmd() { +prompt_powerlevel9k_precmd() { vcs_info # Add a static hook to examine staged/unstaged changes. vcs_info_hookadd set-message vcs-detect-changes } -if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then - PROMPT='╭─%{%f%b%k%}$(build_left_prompt) -╰─ ' -else - PROMPT='%{%f%b%k%}$(build_left_prompt) ' -fi -RPROMPT='%{%f%b%k%}$(build_right_prompt)%{$reset_color%}' +powerlevel9k_init() { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + autoload -Uz add-zsh-hook + + add-zsh-hook precmd prompt_powerlevel9k_precmd + + if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then + PROMPT="╭─%{%f%b%k%}"'$(build_left_prompt)'" +╰─ " + else + PROMPT="%{%f%b%k%}"'$(build_left_prompt)'" " + fi + RPROMPT="%{%f%b%k%}"'$(build_right_prompt)'"%{$reset_color%}" +} + +powerlevel9k_init "$@" -- cgit v1.2.3 From 6f22892fb77dd8021aee262848bcc301d4ff44f9 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 29 May 2015 23:56:31 +0200 Subject: Variable scoping. --- 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 b7157f75..3016f443 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -46,7 +46,7 @@ # 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' +local 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. -- cgit v1.2.3 From eb5b9f7c1b4d848aa1e5292dc8d39905ff884b23 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 30 May 2015 00:00:05 +0200 Subject: Better compatibility with prezto. --- powerlevel9k.zsh-theme | 118 +++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 57 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 3016f443..8536f0cc 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -60,7 +60,7 @@ VCS_STAGED_ICON='✚' ################################################################ local DEFAULT_COLOR DEFAULT_COLOR_INVERTED DEFAULT_COLOR_DARK -if [[ $POWERLEVEL9K_COLOR_SCHEME == "light" ]]; then +if [[ "$POWERLEVEL9K_COLOR_SCHEME" == "light" ]]; then DEFAULT_COLOR=white DEFAULT_COLOR_INVERTED=black DEFAULT_COLOR_DARK="252" @@ -82,8 +82,8 @@ local VCS_CHANGESET_PREFIX='' if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then # Default: Just display the first 12 characters of our changeset-ID. local VCS_CHANGESET_HASH_LENGTH=12 - if [[ -n $POWERLEVEL9K_CHANGESET_HASH_LENGTH ]]; then - VCS_CHANGESET_HASH_LENGTH=$POWERLEVEL9K_CHANGESET_HASH_LENGTH + if [[ -n "$POWERLEVEL9K_CHANGESET_HASH_LENGTH" ]]; then + VCS_CHANGESET_HASH_LENGTH="$POWERLEVEL9K_CHANGESET_HASH_LENGTH" fi VCS_CHANGESET_PREFIX="%F{$DEFAULT_COLOR_DARK}%0.$VCS_CHANGESET_HASH_LENGTH""i@%f" @@ -125,27 +125,27 @@ fi # Begin a left prompt segment # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. -left_prompt_segment() { +function left_prompt_segment { 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 - echo -n "%{$bg%F{$CURRENT_BG}%}$LEFT_SEGMENT_SEPARATOR%{$fg%} " + [[ -n "$1" ]] && bg="%K{$1}" || bg="%k" + [[ -n "$2" ]] && fg="%F{$2}" || fg="%f" + if [[ "$CURRENT_BG" != 'NONE' && "$1" != "$CURRENT_BG" ]]; then + echo -n "$bg%F{$CURRENT_BG}$LEFT_SEGMENT_SEPARATOR$fg " else - echo -n "%{$bg%}%{$fg%} " + echo -n "$bg$fg " fi - CURRENT_BG=$1 - [[ -n $3 ]] && echo -n $3 + CURRENT_BG="$1" + [[ -n "$3" ]] && echo -n "$3" } # 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" +function left_prompt_end { + if [[ -n "$CURRENT_BG" ]]; then + 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='' } @@ -153,12 +153,12 @@ left_prompt_end() { # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. No ending for the right prompt # segment is needed (unlike the left prompt, above). -right_prompt_segment() { +function right_prompt_segment { local bg fg - [[ -n $1 ]] && bg="%K{$1}" || bg="%k" - [[ -n $2 ]] && fg="%F{$2}" || fg="%f" + [[ -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 "$3" ]] && echo -n "$3" } ################################################################ @@ -167,11 +167,11 @@ right_prompt_segment() { prompt_vcs() { local vcs_prompt="${vcs_info_msg_0_}" - if [[ -n $vcs_prompt ]]; then + if [[ -n "$vcs_prompt" ]]; then if [[ "$VCS_WORKDIR_DIRTY" == true ]]; then - $1_prompt_segment yellow $DEFAULT_COLOR + $1_prompt_segment "yellow" "$DEFAULT_COLOR" else - $1_prompt_segment green $DEFAULT_COLOR + $1_prompt_segment "green" "$DEFAULT_COLOR" fi echo -n "%F{$DEFAULT_COLOR}%f$vcs_prompt" @@ -224,7 +224,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}${tag}%f" } # Show count of stashed changes @@ -251,7 +251,7 @@ function +vi-hg-bookmarks() { } function +vi-vcs-detect-changes() { - if [[ -n ${hook_com[staged]} ]] || [[ -n ${hook_com[unstaged]} ]]; then + if [[ -n "${hook_com[staged]}" ]] || [[ -n "${hook_com[unstaged]}" ]]; then VCS_WORKDIR_DIRTY=true else VCS_WORKDIR_DIRTY=false @@ -264,8 +264,8 @@ function +vi-vcs-detect-changes() { # AWS Profile prompt_aws() { - local aws_profile=$AWS_DEFAULT_PROFILE - if [[ -n $aws_profile ]]; + local aws_profile="$AWS_DEFAULT_PROFILE" + if [[ -n "$aws_profile" ]]; then $1_prompt_segment red white "AWS: $aws_profile" fi @@ -275,18 +275,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 "$DEFAULT_COLOR" "011" "%(!.%F{yellow}.)$USER@%m" fi } # Dir: current working directory prompt_dir() { - $1_prompt_segment blue $DEFAULT_COLOR '%~' + $1_prompt_segment "blue" "$DEFAULT_COLOR" '%~' } # Command number (in local history) prompt_history() { - $1_prompt_segment "244" $DEFAULT_COLOR '%h' + $1_prompt_segment "244" "$DEFAULT_COLOR" '%h' } # Right Status: (return code, root status, background jobs) @@ -296,24 +296,24 @@ prompt_longstatus() { local symbols bg symbols=() - if [[ $RETVAL -ne 0 ]]; then - symbols+="%{%F{"226"}%}%? ↵" + if [[ "$RETVAL" -ne 0 ]]; then + symbols+="%F{226}%? ↵" bg="009" else - symbols+="%{%F{"046"}%}✓" + symbols+="%F{046}✓" bg="008" fi - [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" - [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + [[ "$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 "$bg" "$DEFAULT_COLOR" "$symbols" } # rbenv information prompt_rbenv() { if [[ -n "$RBENV_VERSION" ]]; then - $1_prompt_segment red $DEFAULT_COLOR "$RBENV_VERSION" + $1_prompt_segment "red" "$DEFAULT_COLOR" "$RBENV_VERSION" fi } @@ -323,7 +323,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" fi } @@ -332,7 +332,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 " fi } @@ -341,11 +341,11 @@ prompt_rvm() { prompt_status() { local symbols symbols=() - [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" - [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" + [[ "$RETVAL" -ne 0 ]] && symbols+="%{%F{red}%}✘" + [[ "$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 "$DEFAULT_COLOR" "default" "$symbols" } # Symfony2-PHPUnit test ratio @@ -354,33 +354,33 @@ 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-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="$2" + local tests_amount="$3"+0.00001 + local headline="$4" # 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 "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%%" } # System time prompt_time() { - local time_format='%D{%H:%M:%S}' - if [[ -n $POWERLEVEL9K_TIME_FORMAT ]]; then - time_format=$POWERLEVEL9K_TIME_FORMAT + local time_format="%D{%H:%M:%S}" + if [[ -n "$POWERLEVEL9K_TIME_FORMAT" ]]; then + time_format="$POWERLEVEL9K_TIME_FORMAT" fi - $1_prompt_segment $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$time_format " + $1_prompt_segment "$DEFAULT_COLOR_INVERTED" "$DEFAULT_COLOR" "$time_format " } # Virtualenv: current working virtualenv @@ -388,8 +388,8 @@ prompt_time() { # https://virtualenv.pypa.io/en/latest/ 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`)" + if [[ -n "$virtualenv_path" && -n "$VIRTUAL_ENV_DISABLE_PROMPT" ]]; then + $1_prompt_segment "blue" "$DEFAULT_COLOR" "(`basename $virtualenv_path`)" fi } @@ -399,7 +399,7 @@ prompt_virtualenv() { # Main prompt build_left_prompt() { - if [[ ${#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS} == 0 ]]; then + if [[ "${#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS}" == 0 ]]; then POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs) fi @@ -414,7 +414,7 @@ build_left_prompt() { build_right_prompt() { RETVAL=$? - if [[ ${#POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS} == 0 ]]; then + if [[ "${#POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS}" == 0 ]]; then POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(longstatus history time) fi @@ -435,6 +435,10 @@ powerlevel9k_init() { unsetopt XTRACE KSH_ARRAYS prompt_opts=(cr percent subst) + # initialize colors + autoload -U colors && colors + + # initialize VCS autoload -Uz add-zsh-hook add-zsh-hook precmd prompt_powerlevel9k_precmd -- 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 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 From 966bf5fe740facfa03286b4c7ceff3794c9a212c Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Thu, 11 Jun 2015 18:09:57 +0200 Subject: Global variables need to be global, so that antigen and prezto see them.. --- powerlevel9k.zsh-theme | 1 - 1 file changed, 1 deletion(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index be4b68da..695a39c3 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -169,7 +169,6 @@ esac # color scheme ################################################################ -local DEFAULT_COLOR DEFAULT_COLOR_INVERTED DEFAULT_COLOR_DARK if [[ "$POWERLEVEL9K_COLOR_SCHEME" == "light" ]]; then DEFAULT_COLOR=white DEFAULT_COLOR_INVERTED=black -- cgit v1.2.3 From fe5ef3cee8178aba2dd290de1597ecc9ef5652b8 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 13 Jun 2015 00:26:18 +0200 Subject: All top-level usages of "local" removed. That variables need to be global for antigen and prezto to work correctly. --- powerlevel9k.zsh-theme | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 695a39c3..1ebc31bb 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -179,8 +179,8 @@ else DEFAULT_COLOR_DARK="236" fi -local VCS_FOREGROUND_COLOR=$DEFAULT_COLOR -local VCS_FOREGROUND_COLOR_DARK=$DEFAULT_COLOR_DARK +VCS_FOREGROUND_COLOR=$DEFAULT_COLOR +VCS_FOREGROUND_COLOR_DARK=$DEFAULT_COLOR_DARK # If user has defined custom colors for the `vcs` segment, override the defaults if [[ -n $POWERLEVEL9K_VCS_FOREGROUND ]]; then @@ -197,8 +197,8 @@ fi setopt prompt_subst autoload -Uz vcs_info -local VCS_WORKDIR_DIRTY=false -local VCS_CHANGESET_PREFIX='' +VCS_WORKDIR_DIRTY=false +VCS_CHANGESET_PREFIX='' if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then # Default: Just display the first 12 characters of our changeset-ID. local VCS_CHANGESET_HASH_LENGTH=12 @@ -212,7 +212,7 @@ fi zstyle ':vcs_info:*' enable git hg zstyle ':vcs_info:*' check-for-changes true -local VCS_DEFAULT_FORMAT="$VCS_CHANGESET_PREFIX%F{$VCS_FOREGROUND_COLOR}%b%c%u%m%f" +VCS_DEFAULT_FORMAT="$VCS_CHANGESET_PREFIX%F{$VCS_FOREGROUND_COLOR}%b%c%u%m%f" zstyle ':vcs_info:git:*' formats "%F{$VCS_FOREGROUND_COLOR}$VCS_GIT_ICON%f $VCS_DEFAULT_FORMAT" zstyle ':vcs_info:hg:*' formats "%F{$VCS_FOREGROUND_COLOR}$VCS_HG_ICON%f $VCS_DEFAULT_FORMAT" -- cgit v1.2.3 From f1b5b783d3c8daabf427dfc8c1baf6a9145d7c62 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 24 May 2015 19:34:46 +0100 Subject: Added a segment that shows the Symfony2 version number. --- README.md | 1 + powerlevel9k.zsh-theme | 12 ++++++++++++ 2 files changed, 13 insertions(+) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index c406835c..b56c6cd2 100644 --- a/README.md +++ b/README.md @@ -225,6 +225,7 @@ currently available are: * **rspec_stats** - Show a ratio of test classes vs code classes for RSpec. * **status** - The return code of the previous command, and status of background jobs. * **symfony2_tests** - Show a ratio of test classes vs code classes for Symfony2. +* **symfony2_version** - Show the current Symfony2 version, if you are in a Symfony2-Project dir. * **time** - System time. * **virtualenv** - Your Python [VirtualEnv](https://virtualenv.pypa.io/en/latest/). * **vcs** - Information about this `git` or `hg` repository (if you are in one). diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 1ebc31bb..ef9b1b3b 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -61,6 +61,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON="\uE891" #  OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ + SYMFONY_ICON="SF" VCS_UNTRACKED_ICON="\uE16C" #  VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  @@ -90,6 +91,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON='' OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ + SYMFONY_ICON="SF" VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ @@ -117,6 +119,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON="\uE891" #  OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ + SYMFONY_ICON="SF" VCS_UNTRACKED_ICON="\uE16C" #  VCS_UNSTAGED_ICON="\uE17C" #  VCS_STAGED_ICON="\uE168" #  @@ -148,6 +151,7 @@ case $POWERLEVEL9K_MODE in TEST_ICON='' OK_ICON="\u2713" # ✓ FAIL_ICON="\u2718" # ✘ + SYMFONY_ICON="SF" VCS_UNTRACKED_ICON='?' VCS_UNSTAGED_ICON="\u25CF" # ● VCS_STAGED_ICON="\u271A" # ✚ @@ -510,6 +514,14 @@ prompt_symfony2_tests() { fi } +# Symfony2-Version +prompt_symfony2_version() { + if [[ -f app/bootstrap.php.cache ]]; then + local symfony2_version=$(grep " VERSION " app/bootstrap.php.cache | sed -e 's/[^.0-9]*//g') + $1_prompt_segment "$0" "240" "$DEFAULT_COLOR" "$SYMFONY_ICON $symfony2_version" + fi +} + # Show a ratio of tests vs code build_test_stats() { local code_amount="$3" -- cgit v1.2.3 From 2538e5579b2b69cf77342957b5fd436ccc4b20a2 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Wed, 8 Jul 2015 00:44:52 +0200 Subject: Make branch icon configurable. --- README.md | 6 +++++- powerlevel9k.zsh-theme | 16 ++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index c406835c..2a90e730 100644 --- a/README.md +++ b/README.md @@ -278,13 +278,17 @@ By default, the `vcs` segment will provide quite a bit of information. If you would also like for it to display the current hash / changeset, simply define `POWERLEVEL9K_SHOW_CHANGESET` in your `~/.zshrc`. If activated, it will show the first 12 characters of the changeset id. To change the amount of characters, -set `POWERLEVEL9K_CHANGESET_HASH_LENTH` to any value you want. +set `POWERLEVEL9K_CHANGESET_HASH_LENGTH` to any value you want. +By setting `POWERLEVEL9K_SHOW_BRANCH_ICON` it shows a nice icon before the +branch name. Example: # enable the vcs segment in general POWERLEVEL9K_SHOW_CHANGESET=true # just show the 6 first characters of changeset POWERLEVEL9K_CHANGESET_HASH_LENGTH=6 + # Show an icon before the branch name + POWERLEVEL9K_SHOW_BRANCH_ICON=true ##### Symbols diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 1ebc31bb..cee6acad 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -74,8 +74,7 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  - #VCS_BRANCH_ICON=" \uE220" #  - VCS_BRANCH_ICON='' + VCS_BRANCH_ICON=" \uE220" #  VCS_REMOTE_BRANCH_ICON="\uE804" #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  @@ -99,8 +98,7 @@ 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' @@ -130,8 +128,7 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON="\uE817 " #  VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  - #VCS_BRANCH_ICON=" \uE220" #  - VCS_BRANCH_ICON='' + VCS_BRANCH_ICON=" \uE220" #  VCS_REMOTE_BRANCH_ICON="\uE804" #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  @@ -157,14 +154,17 @@ 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" #  ;; esac +if [[ "$POWERLEVEL9K_SHOW_BRANCH_ICON" != true ]]; then + VCS_BRANCH_ICON='' +fi + ################################################################ # color scheme ################################################################ -- cgit v1.2.3 From 5a9695dcd4e1900b92a7ec84cf2ed0dd105aa1a8 Mon Sep 17 00:00:00 2001 From: Martin Pelikan Date: Mon, 6 Jul 2015 20:56:02 -0700 Subject: Correctly set VCS dirty status on first invocation. The precmd hook seems to not get called on first invocation, and gets called recursively for every subsequent invocation. --- powerlevel9k.zsh-theme | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 1ebc31bb..52cfa96d 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -221,7 +221,8 @@ zstyle ':vcs_info:*' actionformats " %b %F{red}| %a%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 +zstyle ':vcs_info:git*+set-message:*' hooks vcs-detect-changes git-untracked git-aheadbehind git-stash git-remotebranch git-tagname +zstyle ':vcs_info:hg*+set-message:*' hooks vcs-detect-changes # For Hg, only show the branch name zstyle ':vcs_info:hg*:*' branchformat "$VCS_BRANCH_ICON%b" @@ -575,13 +576,6 @@ build_right_prompt() { done } -prompt_powerlevel9k_precmd() { - vcs_info - - # Add a static hook to examine staged/unstaged changes. - vcs_info_hookadd set-message vcs-detect-changes -} - powerlevel9k_init() { setopt LOCAL_OPTIONS unsetopt XTRACE KSH_ARRAYS @@ -593,7 +587,7 @@ powerlevel9k_init() { # initialize VCS autoload -Uz add-zsh-hook - add-zsh-hook precmd prompt_powerlevel9k_precmd + add-zsh-hook precmd vcs_info if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then PROMPT="╭─%{%f%b%k%}"'$(build_left_prompt)'" -- cgit v1.2.3