Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
8ede6c6a
"vscode:/vscode.git/clone" did not exist on "96bd365542dd9df0afe37e944996936bdaa17969"
Commit
8ede6c6a
authored
Jan 08, 2014
by
Brice Dutheil
Browse files
Added further cleanup and svn status information
parent
8bf8e1ec
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/svn-fast-info/svn-fast-info.plugin.zsh
View file @
8ede6c6a
...
@@ -14,7 +14,7 @@ function svn_prompt_info() {
...
@@ -14,7 +14,7 @@ function svn_prompt_info() {
info
=
$(
svn info 2>&1
)
||
return
1
;
# capture stdout and stderr
info
=
$(
svn info 2>&1
)
||
return
1
;
# capture stdout and stderr
local
repo_need_upgrade
=
$(
svn_repo_need_upgrade
$info
)
local
repo_need_upgrade
=
$(
svn_repo_need_upgrade
$info
)
if
[
-n
$repo_need_upgrade
]
;
then
if
[
[
-n
$repo_need_upgrade
]
]
;
then
printf
'%s%s%s%s%s%s%s\n'
\
printf
'%s%s%s%s%s%s%s\n'
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_THEME_SVN_PROMPT_PREFIX
\
$ZSH_THEME_SVN_PROMPT_PREFIX
\
...
@@ -22,57 +22,53 @@ function svn_prompt_info() {
...
@@ -22,57 +22,53 @@ function svn_prompt_info() {
$repo_need_upgrade
\
$repo_need_upgrade
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_THEME_SVN_PROMPT_SUFFIX
\
$ZSH_THEME_SVN_PROMPT_SUFFIX
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_PROMPT_BASE_COLOR
else
else
# something left for you to fix -
printf
'%s%s%s %s%s:%s%s%s%s%s'
\
# repo name and rev aren't used here, did you forget them?
# especially since you set a repo name color
# if the prompt is alright this way, leave it as is and just
# delete the comment. The functions itself could stay imo,
# gives others the chance to use them.
printf
'%s%s%s%s%s%s%s%s%s\n'
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_THEME_SVN_PROMPT_PREFIX
\
$ZSH_THEME_SVN_PROMPT_PREFIX
\
$ZSH_THEME_REPO_NAME_COLOR
\
\
$(
svn_get_branch_name
$info
)
"
$(
svn_status_info
$info
)
"
\
${
svn_branch_name
}
\
$ZSH_PROMPT_BASE_COLOR
\
$ZSH_PROMPT_BASE_COLOR
\
$(
svn_dirty_choose
$info
)
$ZSH_THEME_BRANCH_NAME_COLOR
\
$ZSH_PROMPT_BASE_COLOR
$(
svn_get_branch_name
$info
)
\
$ZSH_THEME_SVN_PROMPT_SUFFIX
\
$ZSH_PROMPT_BASE_COLOR
\
\
$(
svn_get_revision
$info
)
\
$ZSH_PROMPT_BASE_COLOR
\
\
$ZSH_THEME_SVN_PROMPT_SUFFIX
\
$ZSH_PROMPT_BASE_COLOR
$ZSH_PROMPT_BASE_COLOR
fi
fi
}
}
function
svn_repo_need_upgrade
()
{
function
svn_repo_need_upgrade
()
{
grep
-q
"E155036"
<<<
${
1
:-
$(
svn info 2> /dev/null
)
}
&&
\
grep
-q
"E155036"
<<<
${
1
:-
$(
svn info 2> /dev/null
)
}
&&
\
echo
"E155036: upgrade repo with svn upgrade"
echo
"E155036: upgrade repo with svn upgrade"
}
}
function
svn_get_branch_name
()
{
function
svn_get_branch_name
()
{
echo
${
1
:-
$(
svn info 2> /dev/null
)
}
|
\
grep
'^URL:'
<<<
"
${
1
:-
$(
svn info 2> /dev/null
)
}
"
| egrep
-o
'(tags|branches)/[^/]+|trunk'
grep
'^URL:'
| egrep
-o
'(tags|branches)/[^/]+|trunk'
|
\
egrep
-o
'[^/]+$'
}
}
function
svn_get_repo_name
()
{
function
svn_get_repo_root_name
()
{
# I think this can be further cleaned up as well, not sure how,
grep
'^Repository\ Root:'
<<<
"
${
1
:-
$(
svn info 2> /dev/null
)
}
"
|
sed
's#.*/##'
# as I can't test it
local
svn_root
local
info
=
${
1
:-
$(
svn info 2> /dev/null
)
}
echo
$info
|
sed
's/Repository\ Root:\ .*\///p'
|
read
svn_root
echo
$info
|
sed
"s/URL:
\
.*
$svn_root
\/
//p"
}
}
function
svn_get_revision
()
{
function
svn_get_revision
()
{
# does this work as it should?
echo
"
${
1
:-
$(
svn info 2> /dev/null
)
}
"
|
sed
-n
's/Revision: //p'
echo
${
1
:-
$(
svn info 2> /dev/null
)
}
|
sed
's/Revision: //p'
}
}
function
svn_dirty_choose
()
{
function
svn_status_info
()
{
if
svn status |
grep
-E
'^\s*[ACDIM!?L]'
&> /dev/null
;
then
local
svn_status_string
=
"
$ZSH_THEME_SVN_PROMPT_CLEAN
"
echo
$ZSH_THEME_SVN_PROMPT_DIRTY
local
svn_status
=
"
$(
svn status 2> /dev/null
)
"
;
else
if
grep
-E
'^\s*A'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_ADDITIONS
:-
+
}
"
;
fi
echo
$ZSH_THEME_SVN_PROMPT_CLEAN
if
grep
-E
'^\s*D'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_DELETIONS
:-
✖
}
"
;
fi
fi
if
grep
-E
'^\s*M'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_MODIFICATIONS
:-
✎
}
"
;
fi
if
grep
-E
'^\s*[R~]'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_REPLACEMENTS
:-
∿
}
"
;
fi
if
grep
-E
'^\s*\?'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_UNTRACKED
:-
?
}
"
;
fi
if
grep
-E
'^\s*[CI!L]'
&> /dev/null
<<<
$svn_status
;
then
svn_status_string
=
"
$svn_status_string
${
ZSH_THEME_SVN_PROMPT_DIRTY
:-
'!'
}
"
;
fi
echo
$svn_status_string
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment