From f879a295e14bb81a94fc52329b28ee523fcd36a7 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Thu, 17 Jan 2002 18:49:32 +0000 Subject: use pager style instead of $EDITOR and fix bad substitution in exclusion lists --- Completion/Base/Widget/_complete_debug | 5 +-- Completion/Unix/Command/_pine | 12 +++---- Completion/Zsh/Command/_zle | 60 ++++++++++++++++------------------ Completion/Zsh/Command/_zstyle | 5 +-- 4 files changed, 40 insertions(+), 42 deletions(-) (limited to 'Completion') diff --git a/Completion/Base/Widget/_complete_debug b/Completion/Base/Widget/_complete_debug index 1f12e8b9f..4948426f9 100644 --- a/Completion/Base/Widget/_complete_debug +++ b/Completion/Base/Widget/_complete_debug @@ -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' diff --git a/Completion/Unix/Command/_pine b/Completion/Unix/Command/_pine index 7c64d8fe1..5c94c7bd7 100644 --- a/Completion/Unix/Command/_pine +++ b/Completion/Unix/Command/_pine @@ -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 diff --git a/Completion/Zsh/Command/_zle b/Completion/Zsh/Command/_zle index 2d707a22c..1e787e54f 100644 --- a/Completion/Zsh/Command/_zle +++ b/Completion/Zsh/Command/_zle @@ -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 diff --git a/Completion/Zsh/Command/_zstyle b/Completion/Zsh/Command/_zstyle index 48a39deed..bec258e1f 100644 --- a/Completion/Zsh/Command/_zstyle +++ b/Completion/Zsh/Command/_zstyle @@ -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) -- cgit 1.4.1