diff options
| author | Xian Wang <dev@xianwang.io> | 2022-03-23 10:12:52 -0400 |
|---|---|---|
| committer | Xian Wang <dev@xianwang.io> | 2022-03-23 10:12:52 -0400 |
| commit | 99b6971f62cdb02d52c3c4f15f84c97dccaeb344 (patch) | |
| tree | 58c94010cd51514b9e515573b3fb8b51ef51adc6 /zsh/functions/update_current_git_vars | |
| parent | bebf6d947abf4637e1239cd902572cd24945e7cc (diff) | |
| download | dotfiles-99b6971f62cdb02d52c3c4f15f84c97dccaeb344.tar.gz dotfiles-99b6971f62cdb02d52c3c4f15f84c97dccaeb344.tar.bz2 dotfiles-99b6971f62cdb02d52c3c4f15f84c97dccaeb344.zip | |
zsh: update rcs and functions
Diffstat (limited to 'zsh/functions/update_current_git_vars')
| -rw-r--r-- | zsh/functions/update_current_git_vars | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/zsh/functions/update_current_git_vars b/zsh/functions/update_current_git_vars new file mode 100644 index 0000000..0e65c37 --- /dev/null +++ b/zsh/functions/update_current_git_vars @@ -0,0 +1,43 @@ +# based on http://sebastiancelis.com/2009/nov/16/zsh-prompt-git-users/ +unset __CURRENT_GIT_BRANCH +unset __CURRENT_GIT_BRANCH_STATUS +unset __CURRENT_GIT_BRANCH_IS_DIRTY + +local git_dir head + +git_dir="$(git rev-parse --git-dir 2>/dev/null)" + +if [[ -n "$git_dir" ]] ; then + head=$(cat "$git_dir/HEAD") + if [[ $head =~ '^ref: ' ]]; then + __CURRENT_GIT_BRANCH=$(expr "$head" : 'ref: refs/heads/\(.*\)') + else + __CURRENT_GIT_BRANCH="no-branch" + fi +fi + +#local st="$(git status 2>/dev/null)" +#if [[ -n "$st" ]]; then +# local -a arr +# arr=(${(f)st}) +# +# if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then +# __CURRENT_GIT_BRANCH='no-branch' +# else +# __CURRENT_GIT_BRANCH="${arr[1][(w)4]}"; +# fi +# +# if [[ $arr[2] =~ 'Your branch is' ]]; then +# if [[ $arr[2] =~ 'ahead' ]]; then +# __CURRENT_GIT_BRANCH_STATUS='ahead' +# elif [[ $arr[2] =~ 'diverged' ]]; then +# __CURRENT_GIT_BRANCH_STATUS='diverged' +# else +# __CURRENT_GIT_BRANCH_STATUS='behind' +# fi +# fi +# +# if [[ ! $st =~ 'nothing to commit' ]]; then +# __CURRENT_GIT_BRANCH_IS_DIRTY='1' +# fi +#fi |
