From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24628 invoked from network); 31 Mar 2000 17:13:01 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 31 Mar 2000 17:13:01 -0000 Received: (qmail 19422 invoked by alias); 31 Mar 2000 17:12:49 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 10367 Received: (qmail 19414 invoked from network); 31 Mar 2000 17:12:49 -0000 Message-ID: <38E4DC88.4CEF8837@u.genie.co.uk> Date: Fri, 31 Mar 2000 18:12:40 +0100 From: Oliver Kiddle X-Mailer: Mozilla 4.72 [en] (Win95; I) X-Accept-Language: en MIME-Version: 1.0 To: zsh-workers@sunsite.auc.dk Subject: Re: PATCH: _zcompile and _autoload References: <200003300810.KAA23996@beta.informatik.hu-berlin.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sven Wischnowsky wrote: > It's a pity that the functions in Builtins are older than _arguments... This patch updates _enable, _disable and _fc to use _arguments and does a couple of other minor things. Oliver --- Completion/Builtins/_nothing.bak Fri Mar 31 16:33:30 2000 +++ Completion/Builtins/_nothing Fri Mar 31 16:40:43 2000 @@ -1,3 +1,3 @@ -#compdef true false whoami +#compdef true false log times whoami _message 'no argument or option' --- Completion/Builtins/_cd.bak Fri Mar 31 16:36:40 2000 +++ Completion/Builtins/_cd Fri Mar 31 16:36:49 2000 @@ -1,4 +1,4 @@ -#compdef cd pushd +#compdef cd chdir pushd # Handling of cd. # - Normally just completes directories. Uses cdpath if that's set --- /dev/null Fri Mar 31 16:57:39 2000 +++ Completion/Builtins/_emulate Fri Mar 31 16:57:51 2000 @@ -0,0 +1,6 @@ +#compdef emulate + +_arguments -C -s \ + '-L[set local_options and local_traps as well]' \ + '-R[reset all options instead of only those needed for script portability]' \ + '1::shell to emulate:(zsh sh ksh csh)' --- Completion/Builtins/_enable.bak Thu Mar 30 16:14:23 2000 +++ Completion/Builtins/_enable Fri Mar 31 11:26:57 2000 @@ -1,15 +1,8 @@ #compdef enable -local prev="$words[CURRENT-1]" args - -args=() -[[ "$prev" = -*a* ]] && - tags=( 'aliases:alias:compadd - ${(@k)dis_aliases} ${(@k)dis_galiases} ) -[[ "$prev" = -*f* ]] && - tags=( "$tags[@]" 'functions:shell function:compadd - ${(@k)dis_functions}' ) -[[ "$prev" = -*r* ]] && - tags=( "$tags[@]" 'reserved-words:reserved word:compadd - ${(@k)dis_reswords}' ) -[[ "$prev" != -* ]] && - tags=( 'builtins:builtin command:compadd - ${(@k)dis_builtins} ) - -_alternative "$args[@]" +_arguments -C -s \ + "(-f -r)-a[act on aliases]:*:aliases:(${(k)dis_aliases})" \ + "(-a -r)-f[act on functions]:*:functions:(${(k)dis_functions})" \ + "(-a -f)-r[act on reserved words]:*:reserved-words:(${(k)dis_reswords})" \ + '-m[treat arguments as patterns]' \ + "*:builtin command:(${(@k)dis_builtins})" --- Completion/Builtins/_disable.bak Fri Mar 31 11:28:56 2000 +++ Completion/Builtins/_disable Fri Mar 31 13:42:45 2000 @@ -1,15 +1,8 @@ #compdef disable -local prev="$words[CURRENT-1]" args - -args=() -[[ "$prev" = -*a* ]] && - tags=( 'aliases:alias:compadd - ${(@k)aliases} ${(@k)galiases} ) -[[ "$prev" = -*f* ]] && - tags=( "$tags[@]" 'functions:shell function:compadd - ${(@k)functions}' ) -[[ "$prev" = -*r* ]] && - tags=( "$tags[@]" 'reserved-words:reserved word:compadd - ${(@k)reswords}' ) -[[ "$prev" != -* ]] && - tags=( 'builtins:builtin command:compadd - ${(@k)builtins} ) - -_alternative "$args[@]" +_arguments -C -s \ + "(-f -r)-a[act on aliases]:*:aliases:(${(k)aliases} ${(k)galiases})" \ + "(-a -r)-f[act on functions]:*:functions:(${(k)functions})" \ + "(-a -f)-r[act on reserved words]:*:reserved-words:(${(k)reswords})" \ + '-m[treat arguments as patterns]' \ + "*:builtin command:(${(k)builtins})" --- Completion/Builtins/_fc.bak Fri Mar 31 13:57:59 2000 +++ Completion/Builtins/_fc Fri Mar 31 16:23:19 2000 @@ -1,9 +1,27 @@ -#compdef fc +#compdef fc history -local prev="$words[CURRENT-1]" +local fc_common -if [[ "$prev" = -*e ]]; then - _command_names -e -elif [[ "$prev" = -[ARWI]## ]]; then - _files +fc_common=( \ + '(-A -R -W -I)-m[treat first argument as a pattern]' \ + '(-A -R -W -I)-r[reverse order of the commands]' \ + '(-A -R -W -I -e)-n[suppress line numbers]' \ + '(-A -R -W -I -e -f -E -i)-d[print time-stamps]' \ + '(-A -R -W -I -e -d -E -i)-f[mm/dd/yyyy format time-stamps]' \ + '(-A -R -W -I -e -d -f -i)-E[dd.mm.yyyy format time-stamps]' \ + '(-A -R -W -I -e -d -f -E)-i[yyyy-mm-dd format time-stamps]' \ + '(-A -R -W -I -e)-D[print elapsed times]' \ + '(-A -R -W -I)*::commands:_command_names -e' ) + +if [[ $words[1] = *history ]]; then + _arguments -C -s "$fc_common[@]" +else + _arguments -C -s \ + '(-A -R -W -I -e)-l[list resulting commands on stdout]' \ + '(-A -R -W -I -l -n -d -f -E -i -D)-e[specify editor to invoke]:editor to invoke:_command_names -e' \ + '(-l -m -e -r -n -d -f -E -i -D -A -W *)-R[read history from file]:history file:_files' \ + '(-l -m -e -r -n -d -f -E -i -D -R -W *)-A[append history to file]:history file:_files' \ + '(-l -m -e -r -n -d -f -E -i -D -R -A *)-W[write history to file]:history file:_files' \ + '(-l -m -e -r -n -d -f -E -i -D -A -W *)-I[read/write new events only]:history file:_files' \ + "$fc_common[@]" fi