projects
/
grml-etc-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zshrc: New prompt: Fix wrong logic for user name colouring
[grml-etc-core.git]
/
etc
/
zsh
/
zshrc
diff --git
a/etc/zsh/zshrc
b/etc/zsh/zshrc
index
9682d09
..
4fa913e
100644
(file)
--- a/
etc/zsh/zshrc
+++ b/
etc/zsh/zshrc
@@
-1350,6
+1350,10
@@
function prompt_grml_setup () {
grml_prompt_setup grml
}
grml_prompt_setup grml
}
+function prompt_grml-chroot_setup () {
+ grml_prompt_setup grml-chroot
+}
+
function prompt_grml-large_setup () {
grml_prompt_setup grml-large
}
function prompt_grml-large_setup () {
grml_prompt_setup grml-large
}
@@
-1376,6
+1380,7
@@
grml_prompt_pre_default=(
date '%F{blue}'
time '%F{blue}'
shell-level '%F{red}'
date '%F{blue}'
time '%F{blue}'
shell-level '%F{red}'
+ grml-chroot '%F{red}'
)
grml_prompt_post_default=(
)
grml_prompt_post_default=(
@@
-1396,6
+1401,7
@@
grml_prompt_post_default=(
date '%f'
time '%f'
shell-level '%f'
date '%f'
time '%f'
shell-level '%f'
+ grml-chroot '%f '
)
grml_prompt_token_default=(
)
grml_prompt_token_default=(
@@
-1416,6
+1422,7
@@
grml_prompt_token_default=(
date '%D{%Y-%m-%d}'
time '%D{%H:%M:%S} '
shell-level '%(3L.+ .)'
date '%D{%Y-%m-%d}'
time '%D{%H:%M:%S} '
shell-level '%(3L.+ .)'
+ grml-chroot 'GRML_CHROOT'
)
function grml_typeset_and_wrap () {
)
function grml_typeset_and_wrap () {
@@
-1455,6
+1462,11
@@
function grml_prompt_addto () {
change-root)
grml_typeset_and_wrap $target $new '(' ')'
;;
change-root)
grml_typeset_and_wrap $target $new '(' ')'
;;
+ grml-chroot)
+ if [[ -n ${(P)new} ]]; then
+ typeset -g "${target}=${(P)target}(CHROOT)"
+ fi
+ ;;
vcs)
v="vcs_info_msg_${new}_"
if (( ! vcscalled )); then
vcs)
v="vcs_info_msg_${new}_"
if (( ! vcscalled )); then
@@
-1481,6
+1493,16
@@
function prompt_grml_precmd () {
prompt_grml_precmd_worker
}
prompt_grml_precmd_worker
}
+function prompt_grml-chroot_precmd () {
+ emulate -L zsh
+ local grmltheme=grml-chroot
+ local -a left_items right_items
+ left_items=(grml-chroot user at host path percent)
+ right_items=()
+
+ prompt_grml_precmd_worker
+}
+
function prompt_grml-large_precmd () {
emulate -L zsh
local grmltheme=grml-large
function prompt_grml-large_precmd () {
emulate -L zsh
local grmltheme=grml-large
@@
-1509,7
+1531,7
@@
if zrcautoload promptinit && promptinit 2>/dev/null ; then
# Since we define the required functions in here and not in files in
# $fpath, we need to stick the theme's name into `$prompt_themes'
# ourselves, since promptinit does not pick them up otherwise.
# Since we define the required functions in here and not in files in
# $fpath, we need to stick the theme's name into `$prompt_themes'
# ourselves, since promptinit does not pick them up otherwise.
- prompt_themes+=( grml grml-large )
+ prompt_themes+=( grml grml-
chroot grml-
large )
# Also, keep the array sorted...
prompt_themes=( "${(@on)prompt_themes}" )
# Also, keep the array sorted...
prompt_themes=( "${(@on)prompt_themes}" )
@@
-1519,13
+1541,13
@@
if zrcautoload promptinit && promptinit 2>/dev/null ; then
fi
if [[ "$TERM" == dumb ]] ; then
for i in rc user path jobs history date time shell-level; do
fi
if [[ "$TERM" == dumb ]] ; then
for i in rc user path jobs history date time shell-level; do
- zstyle ":prompt:grml(|-large):*:items:$i" pre ''
- zstyle ':prompt:grml(|-large):*:items:$i' post ''
+ zstyle ":prompt:grml(|-large
|-chroot
):*:items:$i" pre ''
+ zstyle ':prompt:grml(|-large
|-chroot
):*:items:$i' post ''
done
unset i
done
unset i
- zstyle ':prompt:grml:right:setup' use-rprompt false
- elif (( EUID
!
= 0 )); then
- zstyle ':prompt:grml:*:items:user' pre '%F{red}'
+ zstyle ':prompt:grml
(|-large|-chroot)
:right:setup' use-rprompt false
+ elif (( EUID
=
= 0 )); then
+ zstyle ':prompt:grml
(|-large|-chroot)
:*:items:user' pre '%F{red}'
fi
else
print 'Notice: no promptinit available :('
fi
else
print 'Notice: no promptinit available :('