From ddef3a6584fdaead20082c65919377cbc5117f74 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Tue, 26 May 2015 21:51:01 +0200 Subject: Added the node version. --- powerlevel9k.zsh-theme | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index d1e927c8..a3f973ff 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -310,6 +310,14 @@ prompt_longstatus() { [[ -n "$symbols" ]] && $1_prompt_segment $bg $DEFAULT_COLOR "$symbols" } +# Node version +prompt_node_version() { + local nvm_prompt=$(node -v 2>/dev/null) + [[ -z "${nvm_prompt}" ]] && return + + $1_prompt_segment green white ${nvm_prompt:1} +} + # rbenv information prompt_rbenv() { if [[ -n "$RBENV_VERSION" ]]; then -- cgit v1.2.3 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 10c5b28859d372f480c1352d4b7a74672e77b430 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 31 May 2015 03:15:16 +0200 Subject: We don't need `tr`, as we strip whitespace directly with zsh. --- powerlevel9k.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 8536f0cc..9e333071 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -180,7 +180,7 @@ prompt_vcs() { 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 + $(git ls-files --others --exclude-standard | sed q | wc -l) != 0 ]]; then hook_com[unstaged]+=" %F{$DEFAULT_COLOR}?%f" fi } @@ -193,12 +193,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=$(git rev-list ${branch_name}@{upstream}..HEAD 2>/dev/null | wc -l) (( $ahead )) && gitstatus+=( " %F{$DEFAULT_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=$(git rev-list HEAD..${branch_name}@{upstream} 2>/dev/null | wc -l) (( $behind )) && gitstatus+=( " %F{$DEFAULT_COLOR}↓${behind// /}%f" ) hook_com[misc]+=${(j::)gitstatus} -- 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 3dc5084e40b2e10272d072c7d6f05b642016e326 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Thu, 4 Jun 2015 03:58:27 +0200 Subject: Added a little "Developers Guide" --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ powerlevel9k.zsh-theme | 19 +++++++++++++----- 2 files changed, 66 insertions(+), 5 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index dc8798fe..76b98ea7 100644 --- a/README.md +++ b/README.md @@ -256,3 +256,55 @@ Please submit your contribution as a Github pull-request. If you would like to contact me directly, you can find my e-mail address on my [Github profile page](https://github.com/bhilburn). +#### Developers Guide + +The theme has grown a lot lately, so I think a little explanation would be +helpful. + +##### Basic Knowledge + +Our main entry point are the `PROMPT` and `RPROMPT` variables, which are +interpreted by zsh itself. All that this (and any other) theme does is +filling these two variables with control instructions (like defining +colors, etc.) and ready-to-use data. So within this theme we collect a +whole bunch of information to put in that variables. You can find +`PROMPT` and `RPROMPT` at the very end of the `powerlevel9k.zsh-theme`. + +This simple diagram may explain the invoking order better: + +``` ++-----+ +---------+ +| Zsh |--->| $PROMPT | ++-----+ +---------+ + | + V + +---------------------+ +------------+ +---------------------+ + | build_left_prompt() |--->| prompt_*() |->| $1_prompt_segment() | + +---------------------+ +------------+ +---------------------+ +``` + +##### Adding Segments + +Feel free to add your own segments. Every segment gets called with an +orientation as first parameter (`left` or `right`), so we can figure +out on which side we should draw the segment. This information is +used at the time we call the actual segment-drawing function: +`$1_prompt_segment`. To make the magic color-overwrite mechanism to +work, we have to pass our function name as first argument. Usually +this is just `$0`. Second parameter is a default background color, +third the default foreground color. And finally we pass our content +to the function. So our function could look somewhat like this: + +```zsh + prompt_echo() { + local content='Hello World!' + $1_prompt_segment $0 blue red $content + } +``` + +At this point we can overwrite our blue-on-red segment by putting + + POWERLEVEL9K_ECHO_FOREGROUND="200" + POWERLEVEL9K_ECHO_BACKGROUND="040" + +in our `~/.zshrc`. We now have a pink-on-green segment. Yay! diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index f65143a1..726ccbb9 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -135,8 +135,13 @@ fi ################################################################ # Begin a left prompt segment -# Takes two arguments, background and foreground. Both can be omitted, -# rendering default background/foreground. +# Takes four arguments: +# * $1: Name of the function that was orginally invoked (mandatory). +# Necessary, to make the dynamic color-overwrite mechanism work. +# * $2: Background color +# * $3: Foreground color +# * $4: The segment content +# The latter three can be omitted, left_prompt_segment() { # Overwrite given background-color by user defined variable for this segment. # We get as first Parameter the function name, which called this function. @@ -177,9 +182,13 @@ left_prompt_end() { } # Begin a right prompt segment -# 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). +# Takes four arguments: +# * $1: Name of the function that was orginally invoked (mandatory). +# Necessary, to make the dynamic color-overwrite mechanism work. +# * $2: Background color +# * $3: Foreground color +# * $4: The segment content +# 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 -- 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 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 5bd4f439e464321ad402aac9b8886b8cbd188b68 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 6 Jun 2015 23:05:31 +0200 Subject: Added NodeJS icon. --- 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 a3f973ff..70593abd 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -314,8 +314,9 @@ prompt_longstatus() { prompt_node_version() { local nvm_prompt=$(node -v 2>/dev/null) [[ -z "${nvm_prompt}" ]] && return + NODE_ICON="\u2B22 " # ⬢ - $1_prompt_segment green white ${nvm_prompt:1} + $1_prompt_segment green white "${nvm_prompt:1} $NODE_ICON" } # rbenv information -- cgit v1.2.3 From 291bcddd103a91c52e8464781c2a07e8a512b028 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 7 Jun 2015 01:06:26 +0200 Subject: Shorten dir path, if POWERLEVEL9K_SHORTEN_PWD_LENGTH is set. --- powerlevel9k.zsh-theme | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index df0319c7..1cd6a870 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -318,7 +318,13 @@ prompt_context() { # Dir: current working directory prompt_dir() { - $1_prompt_segment $0 blue $DEFAULT_COLOR '%~' + local current_path='%~' + if [[ -n "$POWERLEVEL9K_SHORTEN_PWD_LENGTH" ]]; then + # shorten path to $POWERLEVEL9K_SHORTEN_PWD_LENGTH characters + local current_path="%${POWERLEVEL9K_SHORTEN_PWD_LENGTH}<..<%~%<<" + fi + + $1_prompt_segment $0 blue $DEFAULT_COLOR $current_path } # Command number (in local history) -- cgit v1.2.3 From 891f5567fd198220cd2b7b4e471a465ac736579e Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 7 Jun 2015 01:48:02 +0200 Subject: Limit to whole folders, not just characters. --- README.md | 4 ++-- powerlevel9k.zsh-theme | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index e3a382fa..10610c3f 100644 --- a/README.md +++ b/README.md @@ -115,8 +115,8 @@ elements (it is by default), and define a `DEFAULT_USER` in your `~/.zshrc`: The `dir` segment shows the current working directory. You can limit the output to a certain length: - # Limit to 20 characters - POWERLEVEL9K_SHORTEN_PWD_LENGTH=20 + # Limit to the last two folders + POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 #### The 'time' segment diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 1cd6a870..a049f863 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -319,9 +319,9 @@ prompt_context() { # Dir: current working directory prompt_dir() { local current_path='%~' - if [[ -n "$POWERLEVEL9K_SHORTEN_PWD_LENGTH" ]]; then - # shorten path to $POWERLEVEL9K_SHORTEN_PWD_LENGTH characters - local current_path="%${POWERLEVEL9K_SHORTEN_PWD_LENGTH}<..<%~%<<" + if [[ -n "$POWERLEVEL9K_SHORTEN_DIR_LENGTH" ]]; then + # shorten path to $POWERLEVEL9K_SHORTEN_DIR_LENGTH + current_path="%$((POWERLEVEL9K_SHORTEN_DIR_LENGTH+1))(c:.../:)%${POWERLEVEL9K_SHORTEN_DIR_LENGTH}c" fi $1_prompt_segment $0 blue $DEFAULT_COLOR $current_path -- 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 From 0226f871f698d0d802f7a9dee9587d88a627856c Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 10 Jul 2015 00:43:10 +0200 Subject: Fix the branch icon and whitespaces in the vcs segment. --- README.md | 8 ++++---- powerlevel9k.zsh-theme | 26 +++++++++++++------------- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index 7d5a5f76..6d7618d8 100644 --- a/README.md +++ b/README.md @@ -288,11 +288,11 @@ set `POWERLEVEL9K_CHANGESET_HASH_LENGTH` to any value you want. # just show the 6 first characters of changeset POWERLEVEL9K_CHANGESET_HASH_LENGTH=6 -You can also enable an additional branch icon in your prompt by setting -`POWERLEVEL9K_SHOW_BRANCH_ICON` to `true`: +You can also disable the branch icon in your prompt by setting +`POWERLEVEL9K_HIDE_BRANCH_ICON` to `true`: - # Show an icon before the branch name - POWERLEVEL9K_SHOW_BRANCH_ICON=true + # Hide the branch icon + POWERLEVEL9K_HIDE_BRANCH_ICON=true ##### Symbols diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 83d7314c..84f74cfd 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -75,10 +75,10 @@ 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_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" # ⮀ @@ -131,10 +131,10 @@ 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_REMOTE_BRANCH_ICON="\uE804" #  - VCS_GIT_ICON="\uE20E " #  - VCS_HG_ICON="\uE1C3 " #  + VCS_GIT_ICON="\uE20E " #  + VCS_HG_ICON="\uE1C3 " #  ;; *) # Powerline-Patched Font required! @@ -158,14 +158,14 @@ case $POWERLEVEL9K_MODE in VCS_TAG_ICON='' VCS_BOOKMARK_ICON="\u263F" # ☿ VCS_COMMIT_ICON='' - VCS_BRANCH_ICON='@' + VCS_BRANCH_ICON="\uE0A0 " #  VCS_REMOTE_BRANCH_ICON="\u2192" # → - VCS_GIT_ICON="\uE0A0" #  - VCS_HG_ICON="\uE0A0" #  + VCS_GIT_ICON="" + VCS_HG_ICON="" ;; esac -if [[ "$POWERLEVEL9K_SHOW_BRANCH_ICON" != true ]]; then +if [[ "$POWERLEVEL9K_HIDE_BRANCH_ICON" == true ]]; then VCS_BRANCH_ICON='' fi @@ -210,15 +210,15 @@ if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then VCS_CHANGESET_HASH_LENGTH="$POWERLEVEL9K_CHANGESET_HASH_LENGTH" fi - VCS_CHANGESET_PREFIX="%F{$VCS_FOREGROUND_COLOR_DARK}$VCS_COMMIT_ICON%0.$VCS_CHANGESET_HASH_LENGTH""i%f" + VCS_CHANGESET_PREFIX="%F{$VCS_FOREGROUND_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 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" +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" zstyle ':vcs_info:*' actionformats " %b %F{red}| %a%f" -- cgit v1.2.3 From 59cd8a71fad24bc011c948c02415ce4a4b8c9485 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 7 Jun 2015 03:10:27 +0200 Subject: When opening this file in VIM set "expanded tabs"-option and set encoding to "utf8". --- 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 83d7314c..0e556138 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -1,4 +1,4 @@ -# vim:ft=zsh ts=2 sw=2 sts=2 +# vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8 ################################################################ # powerlevel9k Theme # https://github.com/bhilburn/powerlevel9k -- cgit v1.2.3 From 114470ea43e86a7f4e7c2dcce1b8d1af0478147a Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 10 Jul 2015 19:44:20 +0200 Subject: simple-mode deactivated. With that option on, vcs_info doesn't detect the repository state correctly. --- powerlevel9k.zsh-theme | 4 ---- 1 file changed, 4 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 83d7314c..fe1e9a9c 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -237,10 +237,6 @@ zstyle ':vcs_info:hg*+gen-hg-bookmark-string:*' hooks hg-bookmarks if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then zstyle ':vcs_info:*' get-revision true -else - # A little performance-boost for large repositories (especially Hg). If we - # don't show the changeset, we can switch to simple mode. - zstyle ':vcs_info:*' use-simple true fi ################################################################ -- cgit v1.2.3 From 505a55b61c75f13a7bbbff56be54e9e8fc0f2054 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 11 Jul 2015 14:29:48 +0200 Subject: Updated node-prompt. --- powerlevel9k.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 26763740..cecb19db 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -476,9 +476,9 @@ prompt_longstatus() { prompt_node_version() { local nvm_prompt=$(node -v 2>/dev/null) [[ -z "${nvm_prompt}" ]] && return - NODE_ICON="\u2B22 " # ⬢ + NODE_ICON=$'\u2B22 ' # ⬢ - $1_prompt_segment green white "${nvm_prompt:1} $NODE_ICON" + $1_prompt_segment "$0" "green" "white" "${nvm_prompt:1} $NODE_ICON" } # rbenv information -- cgit v1.2.3 From eed0c842735d8fe40e024dfd05ac09824f4fc6b2 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 19 Jul 2015 14:32:13 +0200 Subject: Made the `context` segment customizable. --- README.md | 8 +++++++- powerlevel9k.zsh-theme | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index e38b04b4..53c8f482 100644 --- a/README.md +++ b/README.md @@ -366,7 +366,13 @@ of the `time` segment, you would use: Use the segment names from the above section `Segment Customization`. Some of the Segments have special color variables, as they change the colors according -to some internal rules. These Segments are `vcs`, `rspec_stats`, `symfony2_tests`: +to some internal rules. These Segments are `context`, `vcs`, `rspec_stats`, `symfony2_tests`: + + # Colors for root and other users: + POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="green" + POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="cyan" + POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND="red" + POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND="blue" # General VCS color segments: POWERLEVEL9K_VCS_FOREGROUND='blue' diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 4f75e89b..8677ac4a 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -437,7 +437,12 @@ 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 "$0" "$DEFAULT_COLOR" "011" "%(!.%{%F{yellow}%}.)$USER@%m" + if [[ $(print -P "%#") == '#' ]]; then + # Shell runs as root + $1_prompt_segment "$0_ROOT" "$DEFAULT_COLOR" "yellow" "$USER@%m" + else + $1_prompt_segment "$0_DEFAULT" "$DEFAULT_COLOR" "011" "$USER@%m" + fi fi } -- cgit v1.2.3 From cb20e0e0d95227c7dfa44392527e123fe5527f53 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sun, 19 Jul 2015 14:57:17 +0200 Subject: Made Multiline-Icons customizable. --- README.md | 5 +++++ powerlevel9k.zsh-theme | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/README.md b/README.md index e38b04b4..54b19833 100644 --- a/README.md +++ b/README.md @@ -343,6 +343,11 @@ Here is what it looks like: ![](http://bhilburn.org/content/images/2015/03/double-line.png) +If you want other icons, you can set the following variables in your `~/.zshrc`: + + POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="↱" + POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX="↳ " + #### Light Color Theme If you prefer to use "light" colors, simply set `POWERLEVEL9K_COLOR_SCHEME` diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 4f75e89b..a9105482 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -622,8 +622,11 @@ powerlevel9k_init() { add-zsh-hook precmd vcs_info if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then - PROMPT="╭─%{%f%b%k%}"'$(build_left_prompt)'" -╰─ " + [[ -n $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX ]] || POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="╭─" + [[ -n $POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX ]] || POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX="╰─ " + + PROMPT="$POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX%{%f%b%k%}"'$(build_left_prompt)'" +$POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX" # 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 -- cgit v1.2.3 From 1f69d67c2a9802d00bc6e0f89c06175376c4de71 Mon Sep 17 00:00:00 2001 From: Ben Hilburn Date: Sun, 19 Jul 2015 12:11:43 -0700 Subject: Merging dritter/remote_icon_space_names Optimizing VCS icon spacing for different configurations. --- powerlevel9k.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 4f75e89b..fd0e3ecd 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -76,7 +76,7 @@ case $POWERLEVEL9K_MODE in VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  VCS_BRANCH_ICON="\uE220" #  - VCS_REMOTE_BRANCH_ICON="\uE804" #  + VCS_REMOTE_BRANCH_ICON=" \uE804 " #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  ;; @@ -132,7 +132,7 @@ case $POWERLEVEL9K_MODE in VCS_BOOKMARK_ICON="\uE87B" #  VCS_COMMIT_ICON="\uE821 " #  VCS_BRANCH_ICON="\uE220" #  - VCS_REMOTE_BRANCH_ICON="\uE804" #  + VCS_REMOTE_BRANCH_ICON=" \uE804 " #  VCS_GIT_ICON="\uE20E " #  VCS_HG_ICON="\uE1C3 " #  ;; @@ -482,7 +482,7 @@ prompt_longstatus() { prompt_node_version() { local nvm_prompt=$(node -v 2>/dev/null) [[ -z "${nvm_prompt}" ]] && return - NODE_ICON=$'\u2B22 ' # ⬢ + NODE_ICON=$'\u2B22' # ⬢ $1_prompt_segment "$0" "green" "white" "${nvm_prompt:1} $NODE_ICON" } -- cgit v1.2.3 From 7f83bac947893175ef937e26f1a3bc8a389d1718 Mon Sep 17 00:00:00 2001 From: Ben Hilburn Date: Sun, 19 Jul 2015 17:55:10 -0700 Subject: Revert "We don't need `tr`, as we strip whitespace directly with zsh." This reverts commit 10c5b28859d372f480c1352d4b7a74672e77b430. Conflicts: powerlevel9k.zsh-theme --- powerlevel9k.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index dbfc60c8..ac7d98fa 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -337,7 +337,7 @@ prompt_vcs() { 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) != 0 ]]; then + $(git ls-files --others --exclude-standard | sed q | wc -l | tr -d ' ') != 0 ]]; then hook_com[unstaged]+=" %F{$VCS_FOREGROUND_COLOR}$VCS_UNTRACKED_ICON%f" fi } @@ -350,12 +350,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) + ahead=$(git rev-list ${branch_name}@{upstream}..HEAD 2>/dev/null | wc -l | tr -d ' ') (( $ahead )) && gitstatus+=( " %F{$VCS_FOREGROUND_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) + behind=$(git rev-list HEAD..${branch_name}@{upstream} 2>/dev/null | wc -l | tr -d ' ') (( $behind )) && gitstatus+=( " %F{$VCS_FOREGROUND_COLOR}$VCS_INCOMING_CHANGES${behind// /}%f" ) hook_com[misc]+=${(j::)gitstatus} -- cgit v1.2.3 From 30c4acd24951d434a9bfb798a7333460451a4060 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Mon, 20 Jul 2015 23:37:57 +0200 Subject: Strip the whitespace of OSX `wc` with pure zsh. No need to install `coreutils`. --- powerlevel9k.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'powerlevel9k.zsh-theme') diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index ac7d98fa..69eee6e3 100644 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -337,7 +337,7 @@ prompt_vcs() { 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 + ${$(git ls-files --others --exclude-standard | sed q | wc -l)// /} != 0 ]]; then hook_com[unstaged]+=" %F{$VCS_FOREGROUND_COLOR}$VCS_UNTRACKED_ICON%f" fi } @@ -350,12 +350,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=$(git rev-list ${branch_name}@{upstream}..HEAD 2>/dev/null | wc -l) (( $ahead )) && gitstatus+=( " %F{$VCS_FOREGROUND_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=$(git rev-list HEAD..${branch_name}@{upstream} 2>/dev/null | wc -l) (( $behind )) && gitstatus+=( " %F{$VCS_FOREGROUND_COLOR}$VCS_INCOMING_CHANGES${behind// /}%f" ) hook_com[misc]+=${(j::)gitstatus} -- cgit v1.2.3