From 04b388123fe936d68e230c3a167f6d8e5e37a5c8 Mon Sep 17 00:00:00 2001 From: Anton Paisov Date: Tue, 3 Dec 2013 12:09:46 +0200 Subject: [PATCH] Fixed version of agnoster.zsh-theme --- themes/agnoster.zsh-theme | 62 ++------------------------------------- 1 file changed, 3 insertions(+), 59 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 01cdc80e5..c3107c06c 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -26,7 +26,7 @@ # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' -SEGMENT_SEPARATOR='' +SEGMENT_SEPARATOR='⮀' # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, @@ -71,6 +71,7 @@ prompt_context() { prompt_git() { local ref dirty if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + ZSH_THEME_GIT_PROMPT_DIRTY='±' dirty=$(parse_git_dirty) ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" if [[ -n $dirty ]]; then @@ -78,54 +79,7 @@ prompt_git() { else prompt_segment green black fi - - setopt promptsubst - autoload -Uz vcs_info - - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:*' get-revision true - zstyle ':vcs_info:*' check-for-changes true - zstyle ':vcs_info:*' stagedstr '✚' - zstyle ':vcs_info:git:*' unstagedstr '●' - zstyle ':vcs_info:*' formats ' %u%c' - zstyle ':vcs_info:*' actionformats '%u%c' - vcs_info - echo -n "${ref/refs\/heads\//± }${vcs_info_msg_0_}" - fi -} - -prompt_hg() { - local rev status - if $(hg id >/dev/null 2>&1); then - if $(hg prompt >/dev/null 2>&1); then - if [[ $(hg prompt "{status|unknown}") = "?" ]]; then - # if files are not added - prompt_segment red white - st='±' - elif [[ -n $(hg prompt "{status|modified}") ]]; then - # if any modification - prompt_segment yellow black - st='±' - else - # if working copy is clean - prompt_segment green black - fi - echo -n $(hg prompt "☿ {rev}@{branch}") $st - else - st="" - rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') - branch=$(hg id -b 2>/dev/null) - if `hg st | grep -Eq "^\?"`; then - prompt_segment red black - st='±' - elif `hg st | grep -Eq "^(M|A)"`; then - prompt_segment yellow black - st='±' - else - prompt_segment green black - fi - echo -n "☿ $rev@$branch" $st - fi + echo -n "${ref/refs\/heads\//⭠ }$dirty" fi } @@ -134,14 +88,6 @@ prompt_dir() { prompt_segment blue black '%~' } -# Virtualenv: current working virtualenv -prompt_virtualenv() { - local virtualenv_path="$VIRTUAL_ENV" - if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then - prompt_segment blue black "(`basename $virtualenv_path`)" - fi -} - # Status: # - was there an error # - am I root @@ -160,11 +106,9 @@ prompt_status() { build_prompt() { RETVAL=$? prompt_status - prompt_virtualenv prompt_context prompt_dir prompt_git - prompt_hg prompt_end }