mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-29 11:13:39 +01:00
Added svn info in prompt with plugin.
If the svn plugin is used, svn info (repo name and wether the repo is dirty) is displayed in the prompt like with git. Just lke with git, the colors can be manipulated with variables (see awesomepanda theme for example).
This commit is contained in:
parent
77d05fe8ab
commit
664b97a3c8
42
plugins/svn/svn.plugin.zsh
Normal file
42
plugins/svn/svn.plugin.zsh
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
function svn_prompt_info {
|
||||||
|
if [[ -d .svn ]]; then
|
||||||
|
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
|
||||||
|
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function in_svn() {
|
||||||
|
if [[ -d .svn ]]; then
|
||||||
|
echo 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_get_repo_name {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
|
||||||
|
|
||||||
|
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_get_rev_nr {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
svn info 2> /dev/null | sed -n s/Revision:\ //p
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_dirty_choose {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
s=$(svn status 2>/dev/null)
|
||||||
|
if [ $s ]; then
|
||||||
|
echo $1
|
||||||
|
else
|
||||||
|
echo $2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_dirty {
|
||||||
|
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
|
||||||
|
}
|
18
themes/awesomepanda.zsh-theme
Normal file
18
themes/awesomepanda.zsh-theme
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# the svn plugin has to be activated for this to work.
|
||||||
|
|
||||||
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}"
|
||||||
|
ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}"
|
||||||
|
|
||||||
|
ZSH_THEME_SVN_PROMPT_PREFIX="svn:("
|
||||||
|
ZSH_THEME_SVN_PROMPT_SUFFIX=")"
|
||||||
|
ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}"
|
||||||
|
ZSH_THEME_SVN_PROMPT_CLEAN=" "
|
Loading…
Reference in New Issue
Block a user