1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-28 17:10:59 +01:00

unposted: force latest version of files from vendor to main branch

This commit is contained in:
Peter Stephenson 2007-07-03 17:06:04 +00:00
parent 6fa964914d
commit 876fa2c44e
25 changed files with 310 additions and 194 deletions

View file

@ -1,7 +1,30 @@
# adam1 prompt theme
prompt_adam1_help () {
cat <<'EOF'
This prompt is color-scheme-able. You can invoke it thus:
prompt adam1 [<color1> [<color2> [<color3>]]]
where the colors are for the user@host background, current working
directory, and current working directory if the prompt is split over
two lines respectively. The default colors are blue, cyan and green.
This theme works best with a dark background.
Recommended fonts for this theme: nexus or vga or similar. If you
don't have any of these, then specify the `plain' option to use 7-bit
replacements for the 8-bit characters.
And you probably thought adam1 was overkill.
EOF
}
prompt_adam1_setup () {
base_prompt="%{$bg_no_bold_blue%}%n@%m%{$reset_color%} "
prompt_adam1_color1=${1:-'blue'}
prompt_adam1_color2=${2:-'cyan'}
prompt_adam1_color3=${3:-'green'}
base_prompt="%{$bg_no_bold[$prompt_adam1_color1]%}%n@%m%{$reset_color%} "
post_prompt="%{$reset_color%}"
base_prompt_no_color=$(echo "$base_prompt" | perl -pe "s/%{.*?%}//g")
@ -20,10 +43,10 @@ prompt_adam1_precmd () {
base_prompt_etc=$(print -P "$base_prompt%(4~|...|)%3~")
prompt_length=${#base_prompt_etc}
if [[ $prompt_length -lt 40 ]]; then
path_prompt="%{$fg_bold_cyan%}%(4~|...|)%3~%{$fg_bold_white%}"
path_prompt="%{$fg_bold[$prompt_adam1_color2]%}%(4~|...|)%3~%{$fg_bold[white]%}"
else
space_left=$(( $COLUMNS - $#base_prompt_expanded_no_color - 2 ))
path_prompt="%{$fg_bold_green%}%${space_left}<...<%~$prompt_newline%{$fg_bold_white%}"
path_prompt="%{$fg_bold[$prompt_adam1_color3]%}%${space_left}<...<%~$prompt_newline%{$fg_bold_white%}"
fi
PS1="$base_prompt$path_prompt %# $post_prompt"
PS2="$base_prompt$path_prompt %_> $post_prompt"

View file

@ -6,6 +6,7 @@ prompt_redhat_setup () {
PS1="[%n@%m %1~]\\$ "
PS2="> "
prompt_opts=( cr percent )
precmd () { }
preexec () { }
}

View file

@ -6,6 +6,7 @@ prompt_suse_setup () {
PS1="%n@%m:%~/ > "
PS2="> "
prompt_opts=( cr percent )
precmd () { }
preexec () { }
}

View file

@ -9,7 +9,8 @@
# stick with a single directory. This is the default.
# (2) Use remote globbing, i.e. pass it to ls at the site.
# Faster, but only works with UNIX, and only basic globbing.
# We do this if $zfrglob is non-null.
# We do this if the remote-glob style (or $zfrglob for
# backward compatibility) is set.
# There is only one argument, the variable containing the
# pattern to be globbed. We set this back to an array containing
@ -18,7 +19,9 @@
emulate -L zsh
setopt extendedglob
local pat dir nondir files i
local pat dir nondir files i zfrglob
zstyle -t "$curcontext" remote-glob && zfrglob=1
eval pat=\$$1
@ -52,14 +55,10 @@ else
rm -f $tmpf
else
# we just have to do an ls and hope that's right
local fcache_name
zffcache
nondir=$pat
if (( $#zftp_fcache == 0 )); then
# Why does `zftp_fcache=($(zftp ls))' sometimes not work?
zftp ls >$tmpf
zftp_fcache=($(<$tmpf))
rm -f $tmpf
fi
files=($zftp_fcache)
files=(${(P)fcache_name})
fi
# now we want to see which of the $files match $nondir:
# ${...:/foo} deletes occurrences of foo matching a complete word,

View file

@ -1,13 +1,16 @@
# function zftp_chpwd {
# You may want to alter chpwd to call this when $ZFTP_USER is set.
# Cancel the filename cache for the current directory.
zftp_fcache=()
# ...and also empty the stored directory listing cache.
# As this function is called when we close the connection, this
# is the only place we need to do these two things.
[[ -n $zfcurdir && -f $zfcurdir ]] && rm -f $zfcurdir
zfotherargs=
# If the directory really changed...
if [[ $ZFTP_PWD != $zfconfig[lastdir_$ZFTP_SESSION] ]]; then
# ...and also empty the stored directory listing cache.
# As this function is called when we close the connection, this
# is the only place we need to do these two things.
local curdir=$zfconfig[curdir_$ZFTP_SESSION]
[[ -n $curdir && -f $curdir ]] && rm -f $curdir
zfconfig[otherargs_$ZFTP_SESSION]=
zffcache -d
fi
if [[ -z $ZFTP_USER ]]; then
# last call, after an FTP logout
@ -15,23 +18,23 @@ if [[ -z $ZFTP_USER ]]; then
# delete the non-current cached directory
[[ -n $zfotherdir && -f $zfotherdir ]] && rm -f $zfotherdir
# don't keep zflastdir between opens (do keep zflastsession)
zflastdir=
# don't keep lastdir between opens (do keep lastloc)
zfconfig[lastdir_$ZFTP_SESSION]=
# return the display to standard
# uncomment the following line if you have a chpwd which shows directories
# chpwd
zstyle -t ":zftp$curcontext" chpwd && chpwd
else
[[ -n $ZFTP_PWD ]] && zflastdir=$ZFTP_PWD
zflastsession="$ZFTP_HOST:$ZFTP_PWD"
[[ -n $ZFTP_PWD ]] && zfconfig[lastdir_$ZFTP_SESSION]=$ZFTP_PWD
zfconfig[lastloc_$ZFTP_SESSION]="$ZFTP_HOST:$ZFTP_PWD"
zfconfig[lastuser_$ZFTP_SESSION]="$ZFTP_USER"
local args
if [[ -t 1 && -t 2 ]]; then
local str=$zflastsession
if [[ -t 1 && -t 2 ]] && zstyle -t ":zftp$curcontext" titlebar; then
local str=$zfconfig[lastloc_$ZFTP_SESSION]
[[ ${#str} -lt 70 ]] && str="%m: %~ $str"
case $TERM in
sun-cmd) print -n -P "\033]l$str\033\\"
sun-cmd) print -Pn "\033]l$str\033\\"
;;
xterm) print -n -P "\033]2;$str\a"
*xterm*|rxvt|dtterm|Eterm|kterm) print -Pn "\033]2;$str\a"
;;
esac
fi