diff options
author | Ben Hilburn <bhilburn@gmail.com> | 2016-08-31 03:29:36 +0300 |
---|---|---|
committer | Ben Hilburn <bhilburn@gmail.com> | 2016-08-31 03:44:07 +0300 |
commit | 683ca10e369ae6699197e81f6fd5aec44c05c4f1 (patch) | |
tree | b42e0e456650ed3cc5827324695f92ef49b41884 | |
parent | 3b0da2c3489fd65543d9b116d4aaa7d1405fff32 (diff) |
vcs: adding detection of unstaged / staged for svn repos
-rw-r--r-- | functions/icons.zsh | 7 | ||||
-rw-r--r-- | functions/vcs.zsh | 12 | ||||
-rwxr-xr-x | powerlevel9k.zsh-theme | 2 |
3 files changed, 14 insertions, 7 deletions
diff --git a/functions/icons.zsh b/functions/icons.zsh index c2565f26..3542ce81 100644 --- a/functions/icons.zsh +++ b/functions/icons.zsh @@ -69,6 +69,7 @@ case $POWERLEVEL9K_MODE in VCS_REMOTE_BRANCH_ICON ' '$'\UE804 ' # VCS_GIT_ICON $'\UE20E ' # VCS_HG_ICON $'\UE1C3 ' # + VCS_SVN_ICON '(svn) ' RUST_ICON '' PYTHON_ICON $'\U1F40D' # 🐍 ) @@ -122,7 +123,8 @@ case $POWERLEVEL9K_MODE in VCS_REMOTE_BRANCH_ICON ' '$'\UF204 ' # VCS_GIT_ICON $'\UF113 ' # VCS_HG_ICON $'\UF0C3 ' # - RUST_ICON $'\UE6A8' # + VCS_SVN_ICON '(svn) ' + RUST_ICON $'\UE6A8' # PYTHON_ICON $'\U1F40D' # 🐍 ) ;; @@ -175,7 +177,8 @@ case $POWERLEVEL9K_MODE in VCS_REMOTE_BRANCH_ICON $'\u2192' # → VCS_GIT_ICON '' VCS_HG_ICON '' - RUST_ICON '' + VCS_SVN_ICON '' + RUST_ICON '' PYTHON_ICON '' ) ;; diff --git a/functions/vcs.zsh b/functions/vcs.zsh index 50b58fbf..9418df81 100644 --- a/functions/vcs.zsh +++ b/functions/vcs.zsh @@ -113,8 +113,8 @@ function +vi-vcs-detect-changes() { vcs_visual_identifier='VCS_GIT_ICON' elif [[ "${hook_com[vcs]}" == "hg" ]]; then vcs_visual_identifier='VCS_HG_ICON' -# elif [[ "${hook_com[vcs]}" == "svn" ]]; then -# vcs_visual_identifier='VCS_SVN_ICON' + elif [[ "${hook_com[vcs]}" == "svn" ]]; then + vcs_visual_identifier='VCS_SVN_ICON' fi if [[ -n "${hook_com[staged]}" ]] || [[ -n "${hook_com[unstaged]}" ]]; then @@ -127,11 +127,15 @@ function +vi-vcs-detect-changes() { function +vi-svn-detect-changes() { local svn_status=$(svn status) if [[ -n "$(echo "$svn_status" | grep \^\?)" ]]; then - hook_com[unstaged]+=" $(print_icon 'VCS_STASH_ICON')" + hook_com[unstaged]+=" $(print_icon 'VCS_UNTRACKED_ICON')" VCS_WORKDIR_HALF_DIRTY=true fi + if [[ -n "$(echo "$svn_status" | grep \^\M)" ]]; then + hook_com[unstaged]+=" $(print_icon 'VCS_UNSTAGED_ICON')" + VCS_WORKDIR_DIRTY=true + fi if [[ -n "$(echo "$svn_status" | grep \^\A)" ]]; then + hook_com[staged]+=" $(print_icon 'VCS_STAGED_ICON')" VCS_WORKDIR_DIRTY=true - hook_com[unstaged]+=" $(print_icon 'VCS_STAGED_ICON')" fi } diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 3d7a913a..bf09b4ce 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -876,7 +876,7 @@ prompt_vcs() { zstyle ':vcs_info:git*+set-message:*' hooks $POWERLEVEL9K_VCS_GIT_HOOKS defined POWERLEVEL9K_VCS_HG_HOOKS || POWERLEVEL9K_VCS_HG_HOOKS=(vcs-detect-changes) zstyle ':vcs_info:hg*+set-message:*' hooks $POWERLEVEL9K_VCS_HG_HOOKS - defined POWERLEVEL9K_VCS_SVN_HOOKS || POWERLEVEL9K_VCS_SVN_HOOKS=(svn-detect-changes) + defined POWERLEVEL9K_VCS_SVN_HOOKS || POWERLEVEL9K_VCS_SVN_HOOKS=(vcs-detect-changes svn-detect-changes) zstyle ':vcs_info:svn*+set-message:*' hooks $POWERLEVEL9K_VCS_SVN_HOOKS # For Hg, only show the branch name |