diff options
Diffstat (limited to 'lib/git.zsh')
| -rw-r--r-- | lib/git.zsh | 33 | 
1 files changed, 16 insertions, 17 deletions
diff --git a/lib/git.zsh b/lib/git.zsh index 7aa5a0ea2..118841f06 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -10,23 +10,20 @@ function git_prompt_info() {  # Checks if working tree is dirty  parse_git_dirty() { -  local SUBMODULE_SYNTAX='' -  local GIT_STATUS='' -  local CLEAN_MESSAGE='nothing to commit (working directory clean)' -  if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then +  local STATUS='' +  local FLAGS +  FLAGS=('--porcelain') +  if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then      if [[ $POST_1_7_2_GIT -gt 0 ]]; then -          SUBMODULE_SYNTAX="--ignore-submodules=dirty" +      FLAGS+='--ignore-submodules=dirty'      fi      if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then -        GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1) -    else -        GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1) -    fi -    if [[ -n $GIT_STATUS ]]; then -      echo "$ZSH_THEME_GIT_PROMPT_DIRTY" -    else -      echo "$ZSH_THEME_GIT_PROMPT_CLEAN" +      FLAGS+='--untracked-files=no'      fi +    STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1) +  fi +  if [[ -n $STATUS ]]; then +    echo "$ZSH_THEME_GIT_PROMPT_DIRTY"    else      echo "$ZSH_THEME_GIT_PROMPT_CLEAN"    fi @@ -81,7 +78,7 @@ function git_prompt_long_sha() {  git_prompt_status() {    INDEX=$(command git status --porcelain -b 2> /dev/null)    STATUS="" -  if $(echo "$INDEX" | grep -E '^\?\? ' &> /dev/null); then +  if $(echo "$INDEX" | command grep -E '^\?\? ' &> /dev/null); then      STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"    fi    if $(echo "$INDEX" | grep '^A  ' &> /dev/null); then @@ -135,17 +132,19 @@ function git_compare_version() {    INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]});    for i in {1..3}; do +    if [[ $INSTALLED_GIT_VERSION[$i] -gt $INPUT_GIT_VERSION[$i] ]]; then +      echo 1 +      return 0 +    fi      if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then        echo -1        return 0      fi    done -  echo 1 +  echo 0  }  #this is unlikely to change so make it all statically assigned  POST_1_7_2_GIT=$(git_compare_version "1.7.2")  #clean up the namespace slightly by removing the checker function  unset -f git_compare_version - -  | 
