mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-26 05:51:08 +02:00
use pager style instead of $EDITOR and fix bad substitution in exclusion lists
This commit is contained in:
parent
3708080538
commit
f879a295e1
5 changed files with 49 additions and 42 deletions
|
@ -1,3 +1,12 @@
|
|||
2002-01-17 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 16464: Completion/Base/Widget/_complete_debug,
|
||||
Completion/Zsh/Command/_zstyle: use pager style in _complete_debug
|
||||
in preference to $EDITOR
|
||||
|
||||
* 16464: Completion/Unix/Command/_pine, Completion/Zsh/Command/_zle:
|
||||
fix subtitutions used for exclusion lists and do cleanup of _zle
|
||||
|
||||
2002-01-16 Clint Adams <clint@zsh.org>
|
||||
|
||||
* unposted: Src/.distfiles: remove ansi2knr.
|
||||
|
|
|
@ -4,7 +4,7 @@ eval "$_comp_setup"
|
|||
|
||||
(( $+_debug_count )) || integer -g _debug_count
|
||||
local tmp=${TMPPREFIX}${$}${words[1]:t}$[++_debug_count]
|
||||
local w="${(qq)words}"
|
||||
local pager w="${(qq)words}"
|
||||
|
||||
exec 3>&- # Too bad if somebody else is using it ...
|
||||
[[ -t 2 ]] && { exec 3>&2 2>| $tmp ; trap 'exec 2>&3 3>&-' EXIT INT }
|
||||
|
@ -15,7 +15,8 @@ integer ret=$?
|
|||
unsetopt xtrace
|
||||
|
||||
[[ -t 3 ]] && {
|
||||
print -sR "${VISUAL:-${EDITOR:-${PAGER:-more}}} ${(q)tmp} ;: $w"
|
||||
zstyle -s ':completion:complete-debug::::' pager pager
|
||||
print -sR "${pager:-${PAGER:-${VISUAL:-${EDITOR:-more}}}} ${(q)tmp} ;: $w"
|
||||
_message -r "Trace output left in $tmp (up-history to view)"
|
||||
[[ $compstate[nmatches] -le 1 && $compstate[list] != *force* ]] &&
|
||||
compstate[list]='list force messages'
|
||||
|
|
|
@ -42,12 +42,12 @@ _arguments -C -s \
|
|||
"($opts $send)-o[open first folder read-only]" \
|
||||
"(-F -h -v)-r[restricted - can only send mail to oneself]" \
|
||||
"(-h -v)-d[set debug level]:debug:(0 1 2 3 4 5 6 7 8 9 flush timestamp imap= numfiles= verbose=)" \
|
||||
"(${opts#-F})-k[force use of function keys]" \
|
||||
"(${opts#-F})-z[allow use of ^Z suspension]" \
|
||||
"(${opts#-F})-p+[use alternate .pinerc file]:alternate pinerc:_files" \
|
||||
"(${opts#-F})-P+[use alternate pine.conf file]:alternate pine.conf:_files" \
|
||||
"(${opts#-F})-x[use configuration exceptions file]:configuration exceptions file:_files" \
|
||||
"(${opts#-F})-bail[exit if pinerc file doesn't already exist]" \
|
||||
\(${(j. .)opts:#-F}')-k[force use of function keys]' \
|
||||
\(${(j. .)opts:#-F}')-z[allow use of ^Z suspension]' \
|
||||
\(${(j. .)opts:#-F}')-p+[use alternate .pinerc file]:alternate pinerc:_files' \
|
||||
\(${(j. .)opts:#-F}')-P+[use alternate pine.conf file]:alternate pine.conf:_files' \
|
||||
\(${(j. .)opts:#-F}')-x[use configuration exceptions file]:configuration exceptions file:_files' \
|
||||
\(${(j. .)opts:#-F}")-bail[exit if pinerc file doesn't already exist]" \
|
||||
'*::recipient:->userhost' \
|
||||
${^_cache_pine_options}':option value' && return 0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#compdef zle
|
||||
|
||||
local expl ret=1 st
|
||||
local -a opts compwids state
|
||||
local expl ret=1
|
||||
local -a opts compwids state line context
|
||||
|
||||
compwids=(accept-and-menu-complete
|
||||
complete-word
|
||||
|
@ -19,59 +19,55 @@ _arguments -s -S \
|
|||
"($opts)-A[define widget alias]:old widget:->widget :new widget:->widget" \
|
||||
"($opts)-C[define completion widget]:new widget name:->comp-widget :completion widget:->builtin-comp-widget :widget shell function:->function" \
|
||||
"($opts)-D[delete widget]:*:widget:->widget" \
|
||||
"(${opts#-l})-L+[with -l, list as commands]:*:-:->listing" \
|
||||
"(${opts#-[La]})-l+[list user-defined widgets]:*:-:->listing" \
|
||||
"(${opts#-l})-a+[with -l, list all widgets]:*:-:->listing" \
|
||||
\(${(j. .)opts:#-l}')-L[with -l, list as commands]' \
|
||||
\(${(j. .)opts:#-[La]}')-l+[list user-defined widgets]:*:-:->listing' \
|
||||
\(${(j. .)opts:#-l}')-a[with -l, list all widgets]' \
|
||||
"($opts)-M[display message]:message: " \
|
||||
"($opts)-N[define new widget]:widget name:->widget-or-function ::widget shell function:->function" \
|
||||
"(${opts#-c})-R+[redisplay]:*:-:->redisplay" \
|
||||
"(${opts#-R})-c+[with -R, clear listing]:*:-:->redisplay" \
|
||||
\(${(j. .)opts:#-c}')-R+[redisplay]:*:-:->redisplay' \
|
||||
\(${(j. .)opts:#-R}')-c[with -R, clear listing]' \
|
||||
"($opts)-U[unget to input stack]:string: " \
|
||||
'(-)::widget name:->call'
|
||||
'(-):widget:->widget' \
|
||||
'(-)*::widget args:->args' && ret=0
|
||||
|
||||
[[ $state == listing ]] &&
|
||||
_arguments -s -S \
|
||||
"-l[list user-defined widgets]" \
|
||||
_arguments -s -S '!-l' \
|
||||
"(-a)-L[list as commands]" \
|
||||
"(-L)-a[list all widgets]" \
|
||||
'(-)*:widget name:->widget'
|
||||
'*:widget name:->widget' && ret=0
|
||||
|
||||
for st in $state; do
|
||||
case $st in
|
||||
(call)
|
||||
if ((CURRENT > 2)); then
|
||||
_arguments \
|
||||
'(-N)-n[numeric prefix]:number: ' \
|
||||
'(-n)-N[reset numeric prefix]' \
|
||||
':widget::' '(-)*:widget arguments: ' && ret=0
|
||||
# :widget:: is a placeholder so we needn't shift words
|
||||
continue
|
||||
fi
|
||||
;&
|
||||
while (( $#state )); do
|
||||
case "$state[1]" in
|
||||
(args)
|
||||
_arguments \
|
||||
'(-N)-n[numeric prefix]:number:' \
|
||||
'(-n)-N[reset numeric prefix]' \
|
||||
'(-)*:widget arguments: ' && ret=0
|
||||
;;
|
||||
(widget*)
|
||||
_wanted widgets expl widget compadd -k widgets && ret=0
|
||||
_wanted -C "$context[1]" widgets expl widget compadd -k widgets && ret=0
|
||||
[[ $st != *function ]] && continue
|
||||
;&
|
||||
(function)
|
||||
_wanted functions expl 'widget shell function' \
|
||||
_wanted -C "$context[1]" functions expl 'widget shell function' \
|
||||
compadd -k functions && ret=0
|
||||
;;
|
||||
(comp-widget)
|
||||
_wanted widgets expl 'completion widget' \
|
||||
_wanted -C "$context[1]" widgets expl 'completion widget' \
|
||||
compadd -k "widgets[(R)(*:|)(.|)(${(j(|))compwids})(|:*)]" && ret=0
|
||||
;&
|
||||
(builtin-comp-widget)
|
||||
_wanted widgets expl 'builtin completion widget' \
|
||||
_wanted -C "$context[1]" widgets expl 'builtin completion widget' \
|
||||
compadd -k "widgets[(I)(.|)(${(j(|))compwids})]" && ret=0
|
||||
;;
|
||||
(redisplay)
|
||||
_arguments -s \
|
||||
"-R[redisplay]" \
|
||||
"(*)-c[clear listing]" \
|
||||
"(-)::status line: " "*:strings to list: " && ret=0
|
||||
_arguments -s -S '!-R' \
|
||||
"-c[clear listing]" \
|
||||
":status line" "*:strings to list" && ret=0
|
||||
;;
|
||||
(*) ret=$?;;
|
||||
esac
|
||||
shift 1 state
|
||||
shift 1 context
|
||||
done
|
||||
|
||||
return ret
|
||||
|
|
|
@ -89,6 +89,7 @@ styles=(
|
|||
original c:bool
|
||||
packageset c:packageset
|
||||
path c:_directories
|
||||
pager c:_command_names
|
||||
pine-directory c:_directories
|
||||
ports c:_ports
|
||||
prefix-hidden c:bool
|
||||
|
@ -233,8 +234,8 @@ while (( $#state )); do
|
|||
|
||||
functions)
|
||||
_wanted comp-widget expl 'completion widget' \
|
||||
compadd $suf - all-matches complete-tag correct-word expand-word \
|
||||
expand-alias-word history-words
|
||||
compadd $suf - all-matches complete-debug complete-tag \
|
||||
correct-word expand-word expand-alias-word history-words
|
||||
;;
|
||||
|
||||
user-host-port)
|
||||
|
|
Loading…
Reference in a new issue