diff options
author | Marvin Borner | 2020-03-16 23:33:42 +0100 |
---|---|---|
committer | Marvin Borner | 2020-03-16 23:33:42 +0100 |
commit | 0e9ddbb0bf0cd34500155ea4b03de2e2a38d8ab2 (patch) | |
tree | 719da1c7fe5dabb872fe9ff1582c39b55ccd488e /.oh-my-zsh/plugins/svn | |
parent | e5d38956336ab1be954bdbd12808c5f98f8bd925 (diff) |
Well I'm using Arch again
Diffstat (limited to '.oh-my-zsh/plugins/svn')
-rw-r--r-- | .oh-my-zsh/plugins/svn/README.md | 67 | ||||
-rw-r--r-- | .oh-my-zsh/plugins/svn/svn.plugin.zsh | 87 |
2 files changed, 0 insertions, 154 deletions
diff --git a/.oh-my-zsh/plugins/svn/README.md b/.oh-my-zsh/plugins/svn/README.md deleted file mode 100644 index cab166a..0000000 --- a/.oh-my-zsh/plugins/svn/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# `svn` plugin - -This plugin adds some utility functions to display additional information regarding your current -svn repository. See https://subversion.apache.org/ for the full svn documentation. - -To use it, add `svn` to your plugins array: - -```zsh -plugins=(... svn) -``` - -## Functions - -| Command | Description | -|:----------------------|:--------------------------------------------| -| `svn_prompt_info` | Shows svn prompt in themes | -| `in_svn` | Checks if we're in an svn repository | -| `svn_get_repo_name` | Get repository name | -| `svn_get_branch_name` | Get branch name (see [caveats](#caveats)) | -| `svn_get_rev_nr` | Get revision number | -| `svn_dirty` | Checks if there are changes in the svn repo | - -## Caveats - -The plugin expects the first directory to be the current branch / tag / trunk. So it returns -the first path element if you don't use branches. - -## Usage on themes - -To use this in the `agnoster` theme follow these instructions: - -1. Enable the svn plugin - -2. Add the following lines to your `zshrc` file: - - ```shell - prompt_svn() { - local rev branch - if in_svn; then - rev=$(svn_get_rev_nr) - branch=$(svn_get_branch_name) - if [[ $(svn_dirty_choose_pwd 1 0) -eq 1 ]]; then - prompt_segment yellow black - echo -n "$rev@$branch" - echo -n "±" - else - prompt_segment green black - echo -n "$rev@$branch" - fi - fi - } - ``` - -3. Override the agnoster `build_prompt()` function: - - ```zsh - build_prompt() { - RETVAL=$? - prompt_status - prompt_context - prompt_dir - prompt_git - prompt_svn - prompt_end - } - ``` - diff --git a/.oh-my-zsh/plugins/svn/svn.plugin.zsh b/.oh-my-zsh/plugins/svn/svn.plugin.zsh deleted file mode 100644 index fbc9ee5..0000000 --- a/.oh-my-zsh/plugins/svn/svn.plugin.zsh +++ /dev/null @@ -1,87 +0,0 @@ -svn_prompt_info() { - local _DISPLAY - if in_svn; then - if [[ "$SVN_SHOW_BRANCH" = true ]]; then - unset SVN_SHOW_BRANCH - _DISPLAY=$(svn_get_branch_name) - else - _DISPLAY=$(svn_get_repo_name) - _DISPLAY=$(omz_urldecode "${_DISPLAY}") - fi - echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ -$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$(svn_dirty_pwd)$ZSH_PROMPT_BASE_COLOR" - fi -} - - -in_svn() { - svn info >/dev/null 2>&1 -} - -svn_get_repo_name() { - if in_svn; then - LANG=C svn info | sed -n 's/^Repository\ Root:\ .*\///p' | read SVN_ROOT - LANG=C svn info | sed -n "s/^URL:\ .*$SVN_ROOT\///p" - fi -} - -svn_get_branch_name() { - local _DISPLAY=$( - LANG=C svn info 2> /dev/null | \ - awk -F/ \ - '/^URL:/ { \ - for (i=0; i<=NF; i++) { \ - if ($i == "branches" || $i == "tags" ) { \ - print $(i+1); \ - break;\ - }; \ - if ($i == "trunk") { print $i; break; } \ - } \ - }' - ) - - if [[ -z "$_DISPLAY" ]]; then - svn_get_repo_name - else - echo $_DISPLAY - fi -} - -svn_get_rev_nr() { - if in_svn; then - LANG=C svn info 2> /dev/null | sed -n 's/Revision:\ //p' - fi -} - -svn_dirty() { - svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN -} - -svn_dirty_choose() { - if in_svn; then - local root=$(LANG=C svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p') - if svn status $root 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then - # Grep exits with 0 when "One or more lines were selected", return "dirty". - echo $1 - else - # Otherwise, no lines were found, or an error occurred. Return clean. - echo $2 - fi - fi -} - -svn_dirty_pwd () { - svn_dirty_choose_pwd $ZSH_THEME_SVN_PROMPT_DIRTY_PWD $ZSH_THEME_SVN_PROMPT_CLEAN_PWD -} - -svn_dirty_choose_pwd () { - if in_svn; then - if svn status "$PWD" 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then - # Grep exits with 0 when "One or more lines were selected", return "dirty". - echo $1 - else - # Otherwise, no lines were found, or an error occurred. Return clean. - echo $2 - fi - fi -} |