]> git.donarmstrong.com Git - zsh.git/blobdiff - .zsh/zshrc/60_vcsprompt
ignore git changes in preprompt
[zsh.git] / .zsh / zshrc / 60_vcsprompt
index cf901101a0c070adfccd5fd26695b7275c304765..8dd1b06ea09106d80e5b8fa53d2bc3d2a25c8449 100644 (file)
@@ -1,3 +1,5 @@
+# -*- mode: sh -*-
+# -*- mode: sh -*-
 # zshrc/60_vcsprompt
 #
 # Make git information available to the prompt
@@ -14,13 +16,9 @@ __git_get_reporoot()
 {
   # return the full path to the root of the current git repository
   [ -d "$GIT_DIR" ] && echo "$GIT_DIR" && return 0
-  local relroot
-  relroot="$(git rev-parse --show-cdup 2>/dev/null)" || return 1
-  if [ -n "$relroot" ]; then
-    readlink -f "$relroot"
-  else
-    echo $PWD
-  fi
+  local dir; dir="$PWD/$(git rev-parse --show-cdup)"
+  # do not use --show-toplevel because it resolves symlinks
+  echo $dir:a
 }
 
 __git_get_branch()
@@ -162,7 +160,7 @@ __vcs_set_prompt_variables()
         # if vcsh is used to get a subshell, then the repo root is the home
         # directory, but we want to indicate the vcsh context too:
         eval set -- $(__vcs_get_prompt_path_components "$HOME" "$branch")
-        set -- "%Svcsh:$VCSH_REPO_NAME%s" "$2" "$3"
+        set -- "vcsh:$VCSH_REPO_NAME" "$2" "$3"
       else
         eval set -- $(__vcs_get_prompt_path_components "$reporoot" "$branch")
         if [ -d "$GIT_DIR" ]; then
@@ -200,7 +198,7 @@ __vcs_set_prompt_variables()
       return
   esac
 
-  psvar[1,3]=(${(%)1} ${(%)2} ${(%)3})
+  psvar[1,3]=($1 $2 $3)
 }
 
 __vcs_print_preprompt()
@@ -210,7 +208,7 @@ __vcs_print_preprompt()
 
   case "$repotype" in
     git)
-      __git_print_preprompt
+      __git_print_preprompt
       ;;
   esac
 }