diff --git a/bash/rc b/bash/rc index 2d09134..acd9ea8 100644 --- a/bash/rc +++ b/bash/rc @@ -15,6 +15,11 @@ precmd() { #clear_incomplete_line } +chpwd() { + __git_ps1_gitdir +} +chpwd + # Make bash check its window size after a process completes shopt -s checkwinsize diff --git a/shell/git_prompt_info b/shell/git_prompt_info index da39075..d871d80 100644 --- a/shell/git_prompt_info +++ b/shell/git_prompt_info @@ -50,11 +50,21 @@ __git_ps1_branch() { echo ${branch##refs/heads/} } -# compute git status and set environment variables -__git_ps1_vars() { +__git_ps1_gitdir() { local g="$(__gitdir)" # are we in a git repo? + if [[ -z "$g" ]]; then + unset GIT_PS1_GITDIR + else + GIT_PS1_GITDIR="$g" + fi +} + +# compute git status and set environment variables +__git_ps1_vars() { + local g="$GIT_PS1_GITDIR" + if [[ -z "$g" ]]; then unset GIT_PS1_STATUS unset GIT_PS1_BRANCH diff --git a/zsh/prompt b/zsh/prompt index 5892b4d..8d6a535 100644 --- a/zsh/prompt +++ b/zsh/prompt @@ -127,6 +127,7 @@ prompt_dir() { } prompt_git() { + __git_ps1_vars if [[ -n $GIT_PS1_STATUS ]]; then PROMPT_VCS_TYPE='git' PROMPT_VCS_REF="$GIT_PS1_BRANCH" diff --git a/zsh/rc b/zsh/rc index 881d019..7a60c26 100644 --- a/zsh/rc +++ b/zsh/rc @@ -17,7 +17,6 @@ source $DOTFILES_SHELL_DIR/git_prompt_info GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1 -__git_ps1_vars precmd() { LAST_CMD_RC=$? @@ -32,8 +31,8 @@ preexec() { } chpwd() { - __git_ps1_vars - #set_term_title + __git_ps1_gitdir } +chpwd # vim: ft=zsh