浏览代码

Added option to allow untracked files as non dirty

In this commit, the option only works for git but it should not be to hard for
someone who knows svn to so the same.
This commit is largely inspired by @yoavweiss, I only added an option to use
it.
Jeremy Attali 12 年之前
父节点
当前提交
e41714d72c
共有 2 个文件被更改,包括 10 次插入1 次删除
  1. 5 1
      lib/git.zsh
  2. 5 0
      templates/zshrc.zsh-template

+ 5 - 1
lib/git.zsh

@@ -15,7 +15,11 @@ parse_git_dirty() {
     if [[ $POST_1_7_2_GIT -gt 0 ]]; then
           SUBMODULE_SYNTAX="--ignore-submodules=dirty"
     fi  
-    GIT_STATUS=$(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1)
+    if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" != "true" ]]; then
+        GIT_STATUS=$(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1)
+    else
+        GIT_STATUS=$(git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1)
+    fi
     if [[ -n $GIT_STATUS && "$GIT_STATUS" != "$CLEAN_MESSAGE" ]]; then
       echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
     else

+ 5 - 0
templates/zshrc.zsh-template

@@ -29,6 +29,11 @@ ZSH_THEME="robbyrussell"
 # Uncomment following line if you want red dots to be displayed while waiting for completion
 # COMPLETION_WAITING_DOTS="true"
 
+# Uncomment following line if you want to disable marking untracked files under
+# VCS as dirty. This makes repository status check for large repositories much,
+# much faster.
+# DISABLE_UNTRACKED_FILES_DIRTY="true"
+
 # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
 # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
 # Example format: plugins=(rails git textmate ruby lighthouse)