6ce08acb27f14a2e73fdbd4c92f258a7e6899f64
- Author
- Artie Kh <khrt@ya.ru>
- Committer
- Artie Kh <khrt@ya.ru>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
2index e38e8920b92d9482dff4e676a8a576480d7e7964..4f008ba4e219d986f9c5515c209ffec68da2a68e 100644
3--- a/plugins/svn/svn.plugin.zsh
4+++ b/plugins/svn/svn.plugin.zsh
5@@ -1,62 +1,76 @@
6-
7-function svn_prompt_info {
8- if [ $(in_svn) ]; then
9- if [ "x$SVN_SHOW_BRANCH" = "xtrue" ]; then
10- unset SVN_SHOW_BRANCH
11- _DISPLAY=$(svn_get_branch_name)
12- else
13- _DISPLAY=$(svn_get_repo_name)
14- fi
15- echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
16-$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
17- unset _DISPLAY
18+# vim:ft=zsh ts=2 sw=2 sts=2
19+#
20+function svn_prompt_info() {
21+ if in_svn; then
22+ if [ "x$SVN_SHOW_BRANCH" = "xtrue" ]; then
23+ unset SVN_SHOW_BRANCH
24+ _DISPLAY=$(svn_get_branch_name)
25+ else
26+ _DISPLAY=$(svn_get_repo_name)
27 fi
28+ echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
29+$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
30+ unset _DISPLAY
31+ fi
32 }
33
34
35 function in_svn() {
36- if [[ -d .svn ]]; then
37- echo 1
38- fi
39+ if $(svn info >/dev/null 2>&1); then
40+ return 0
41+ fi
42+ return 1
43 }
44
45-function svn_get_repo_name {
46- if [ $(in_svn) ]; then
47- svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
48-
49- svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p"
50- fi
51+function svn_get_repo_name() {
52+ if in_svn; then
53+ svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
54+ svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p"
55+ fi
56 }
57
58-function svn_get_branch_name {
59- _DISPLAY=$(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 } } }')
60- if [ "x$_DISPLAY" = "x" ]; then
61- svn_get_repo_name
62- else
63- echo $_DISPLAY
64- fi
65- unset _DISPLAY
66+function svn_get_branch_name() {
67+ _DISPLAY=$(
68+ svn info 2> /dev/null | \
69+ awk -F/ \
70+ '/^URL:/ { \
71+ for (i=0; i<=NF; i++) { \
72+ if ($i == "branches" || $i == "tags" ) { \
73+ print $(i+1); \
74+ break;\
75+ }; \
76+ if ($i == "trunk") { print $i; break; } \
77+ } \
78+ }'
79+ )
80+
81+ if [ "x$_DISPLAY" = "x" ]; then
82+ svn_get_repo_name
83+ else
84+ echo $_DISPLAY
85+ fi
86+ unset _DISPLAY
87 }
88
89-function svn_get_rev_nr {
90- if [ $(in_svn) ]; then
91- svn info 2> /dev/null | sed -n s/Revision:\ //p
92- fi
93+function svn_get_rev_nr() {
94+ if in_svn; then
95+ svn info 2> /dev/null | sed -n 's/Revision:\ //p'
96+ fi
97 }
98
99-function svn_dirty_choose {
100- if [ $(in_svn) ]; then
101- svn status 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]'
102- if [ $pipestatus[-1] -eq 0 ]; then
103- # Grep exits with 0 when "One or more lines were selected", return "dirty".
104- echo $1