From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6532 invoked from network); 27 Nov 1997 10:30:18 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 27 Nov 1997 10:30:18 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id FAA04445; Thu, 27 Nov 1997 05:10:44 -0500 (EST) Resent-Date: Thu, 27 Nov 1997 05:10:44 -0500 (EST) Message-Id: <199711271010.LAA08274@hydra.ifh.de> To: zsh-workers@math.gatech.edu, zsh@peak.org Subject: PATCH: completion lists revisted In-reply-to: ""Bart Schaefer""'s message of "Fri, 21 Nov 1997 10:39:53 MET." <971121103953.ZM14674@candle.brasslantern.com> Date: Thu, 27 Nov 1997 11:10:53 +0100 From: Peter Stephenson Resent-Message-ID: <"tM98e3.0.O51.ZSKVq"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3636 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu "Bart Schaefer" wrote: > Anyway, I guess I'd go with -Y and one of -y or -W for what we're talking > about now. Doesn't really matter which means which. Or you could do all > three; use -y and -Y like -k and -K, except for modifying the listing, > and use -W as an expanding -X. Here's the complete thing, incorporating the earlier patches: -y replaces the list for display with something returned from a function or variable, -Y does expansion on the explanation string. (-W was already taken up with the patch for `with-directory', i.e. `-W ~/Mail -f' completes files and paths under ~/Mail; you need that patch for a clean application of this one, although they are functionally independent.) -y is handled first, so you can change variables for -Y: a useless example is: fn() { reply=(); local line if (( $# )); then expl="Select a file from the list" ls -fld $*| while read line; do reply=($reply $line); done (( $# == 1 )) && expl="Unique completion\!" fi } compctl -f -y fn -Y '$expl' foo (The only real point of using both at once is that the formatting is done differently for the explanation and the completion list.) I changed one additional piece of logic: the mere presence of an explanation string used to force alternative completions not to be tried. For example, compctl -k '(foo bar)' -X 'Yeah.' + -k '(Foo Bar)' foo would never look at the Foo Bar possibilities (`foo F^D' would just mindlessly say `Yeah.'). Maybe someone can explain this. begin 644 compctl_yY_patch.gz M'XL("+1!?30``UEO65]A;&PN='AT`.T[^W?3R-4_NW_%).T2*9:#'TDJ/1 M\'>=3J=A#\$_3J]$?RAZW>/]X7%_P/"[]1_\#A`#K]?K"7H@X.>5*`JGD[OB MRL^,+34+(C]W?;0$"7R-XKDZ/8MDQ6PG$G/&V0O:"H>7U M,O837Y'KUL%CA@D6TVK?SXIRF4P)$C_#GV=S*3*Y\*,$)$.[TB4B!;'E2QE$ MX5H4`%*LEU*DH0#E+/QD*OQL5BYD4N2D.BUZ^-SY+8@^_ZCHW2^3O5I[^1EZ M65?,=M*L`Y^K_=]29TWN,S@X\`:'!]I]RER*J,A%NDI$D$4@_\@712JF@'\J MQ6KN%V+A%\%1TDZ ME^VTUWZXTW^`=H/DV"1K-7RRS]"J:LEIN^!%@GD8YJ&,-`%&2%]*?HL8* MM1L0I;9205Z]0G`Z/YM&65R.J:=?E"40+NU#?"`,"82SY!9@3H%[I.T M$'X8R@`>H%0*$?@)0AF:TQ>^6L0W)^C+"_BM8>6B!@Q`'+]5VQ#$%B/IH_:`H80RY!F7X,N_TL M\^'LU3P*YL!<@AK)C:B`@1-S`.AZ+>8^V-Q$@JNA)X'XD83`CV.4A2]T]`;; M02E2\.'8SOX&")^@E:PBLJW:B8`H\1<4J"Q$3-DJ@A,FZ&8R*%'4<%J02;^0 M-JW/"$FU56U:^GF.V@'.$Q/[V)"0<#+A>M3(/33')(C+*2YP0D!Y@]-R!H$O MX/)^HA0:EG'L\?(\+>,I28=Y(@F39C&8@&D#Z07%[;R,D>J'8!XI:"KP?`(I;)K)A[FA?CVAQ>-0$L M$32;NA9$#A;C9R1CXYZD&Q`52.1QRND+$(9I!LC()=%IYWX&CB@QKJ+_+66& M`(!6A?FT+)9E80(YBG2,W\#\BR@HX5!/)'(5L_=DJ)\EIA-BGWP"0S<0'5&\ MT&'59>P"/Q9`154.Y!*+: M$@^GP',$AD)&1C(%"[P.Y+*HC/>&)$.,ID#-5&8S,&7`0VZ:(P-A&L?I2L>E M,L=XGI4Q6`(8D1)_UND,N.[F7P`='52\AR/_%+FAJW&JU[NZ2 MWCJY<(QN7-'XLWNWA@!59&/X25AMQV=A()N+DG&%XX6H&V(SCK:%8XW>86%X M*1RHN+(.)_OKB_.3Q`_A]1B"#KGL#\^G3OYT^X-6>ZKB`.0#Q(7/;H3%*PC17W-2;HZYW=%!)"K\>VB[S+@\S*9T@Z'P/?N.. M;SY&TV]ZKFP16\?6[!UZ_UZT$R`_Z6H2M%MDI5(U7XI[8WA9@C&-Z_H%^3Z"R MND0)$1S6&V+GYW>#&:$8A%?Y8JV7$^ M1Y.'1T/O<#2HIIN"TC;8/B`:!@5K6]Z>_*VQ4OFXJ!*DG.N&6>1+J\#'6]L^TI170I M)K2X#6&CPY\/9*7#;L\;UFN`_RMFV1QJ\/]=_IN4/^P?>,.!%:Z&^UUON/\; MB_BL)+?9OIDC*Z4-#PZ]X6&_5@H&W$?D=P3B.CKLV_$AQ%(?<"!"3$CZ M`&I]HY!TPH[BB9W+';=I'24'JS_AZM:-524P#S-7XW9=AT(X;%QGUF']HGD= M'1=69[A*=>V5WQ`^9_<:P$<1,'F8R'R?._+B>[ MHGH7RS?0X`:7ZYM%5:][W.T==QLJ4GO7QCNX`>SX6#?7AQ*^;Y?P^&`PT`J# M/WD!,3$0.!!)U$1BS%4Z5$7`$$RML;R;70T\@;=KG'K%@TGZAPTA:"Z1@I<#'%;\DL0Z]WK03:W:@*G"@/.8=W MOK].,]ZW]#-_`<+#S$W%\&BT#^+='YER^$O%2]6J(@>/J'(F'`$5`XA_)A.9 MZ8EUO=.WQKW'B,I/U@6-I$,_BG,H5A$%F#*H*8]BF10XI,-Q$0_V<$8:;YJ9 M2KQ5658N15][6X=T_L M_&%'B[/VV-E1G"IC"[-T4;TZX--QB8ZL\FF[\02*G'8CX"BCF,DBGV.0MHH2 M%_Q.W)F6B\7ZC25QFP[=(QP+&D/7(@8.I+,9BZPB\RQ*+DD>L(9)A8?&E_SR M=:RAT'/]Z10T`B#@2O#!R4]AFAPU_<.=I1 MX"@N#-E\BLO4M'**!Z%#5K/]78[_00&+K'I"6U/&7H+P-_E;4FVF./M@B0+H M?IQ"W,D6.'DU,]`,(W8GYCE6('#8C&\;4DM%4:)Z?E7G]0S^::J,A',M4]#U M1,_67'US=UPST&UZ5[/-9JA=`5:PK]`J`5M\@V[\!H?0Y97K6H9W?OKT$84( MI1U?5X]^1F4<2[<2B!U3U)&6H+XR?A]3YE+[(7I,4WY%P&]I$^Y/?=&I9M8@ M?WJY@J"N?/4K#8:WS/&%3=+XBIF?=]Y/V@QOOHR!OTNE7RQ@.4(ARC M4RB0C=I4QVX1J,#=K^2E^V52Z]IRSS85D>ER0S^(&:)1'KU>#YCOC4QAN)I# MA4"C)LH/5J@O(6*ID)QQYN132OC^*DC!O5[;:E$FBZO&F2@CXR*$H]J+?/7: M>X(!A:Q+XN@-)R$Z^RAT0(-/`#@FH?,_F,GZ,XQ._`XS6"SY_D(T@_(&0]S$ M#R[SV,_IM@F@)-7WAEW@OIIX?P/NV72^G'_=,V29.@8R)QCD6`?/+8>7Z@*B MB("&JXH?:\4*F+Q3<;KK)@$G]?YN#L$R#;4(JE"*/&.U)30%^F'OM5T1?K`4 M9PL"T])7*Z[1C`]ZA][@H'^HS=AVX:LTFF(0_;?V9+R]D28SR?'7$V$`63Y< M>?AR/G\'=0+D^@*>X^-R"7_'GK@NESK-:QQI&'IB0K\3_*N^A@*-\EP6SMG# MBV?/7IZ?7G!X=N9^3G>?[H@?3R[>/'IX<=^M,H?1,HV8X?#L<*WD89')R^V795`?A^%T#V(!Z=_^ODO"COHX<)/ MHF(-1,C@TOC(P=$`1#O:US[RC42+CUB\_"G1'V^*>4O%49#N_T.)>W@U)(EM MTM&MWA3"V>5J.4Q<\<9A+PN@IRC8U[Y`451\P.MC*<;1VQ'M2U/G)LQ_A?Q>G8JJO6%)=EPDE]C^E);1O85-U&S_7-=-CL]0?H]:.#FUY_H?J_H,SR-(-: M0P^`X.#%4L\5\:?((-V^BR56OQV.DAC/[3$KA;$Y-=M5#6M."V*H=FF69;+@ MSQ>G?S\[Y8`,"E_PN!U\AEYC*J"3L^M>MFP,8ECF\/BDUC7#=VOJ$'1(ZS8%(`+O&(-9=I3-M;4) MVA[S@^B*8[.`%6!#GL-(`PD,$&(&@R"#*0R_00Y##_I>YVOC-%7^#F*[-TU# M`E'+[?:X&BZ$*X#6^]JBK[>%9#:.EEH;5"+N`K2-EF#`>I0/\A:>Q5#-@'30 M1+%%90(_0_H3@.Q4ED95]T>%C2<"CC90]`EIHQY)Y*TF<;>^3M)WM?7YJ!*CK4>V#@_WQQM'O]X:F9L)88^!)%A]^!F8OBZ(/+; MBQ?`ZK]*GH)?2KD4LR"`N+Q*/76K6O^KG`!Z3MT>XFQ69297M86Z@D3!F;*RH9QT&5!/D:GIPJ2= M0=,)_:?^EQ=T,Q9R$=X]G?OXKX6`!'/CV=QQIC<"ZJ7"PT2$/M;S:AM>EP:K M"B+(;Q4.O*UD7;\VF*J7$Q.\(%WLY.)M"8M")G2S:95FE]P0DCHT*0TOV@P] M^A^2(#%YB?>)@;(9WFT%):E;TGK&::[_XQR_CL>.]0P+(%FZPFD[MOOZ(K"\ M!DMO($RU[869#M\:G*KJ(U!QM:6-"#OB>>907[+SCV3'I4C6HHY"@9KY,CVT MD=7#IPI_'PVAU5#]/K*(8W3;,GVL]$"1\#?4(["'A^UVRJM>/=S.J9IE0'RD MMT@YS\,1BE;5#(8>8X6&'_1..X;'O$^)*"=DEHQ:/X@>QD6"ZQ"2NTJGO`ZH MCK4[U9;'YBA%&A_U`__=[L$V,^)@\7.\M:M`*[9OEA[:*A+[B>7'57+:&)A8 MP67+5O8O*6$4]=5ZI'H")X:$MDJWOCX]M!?ONJ^?@4; M7O-EI<'P",@9CLQUI<\GIU:$\#N%95GDG%"PJE`OC&FIZ- Tel: +39 50 911239 WWW: http://www.ifh.de/~pws/ Gruppo Teorico, Dipartimento di Fisica Piazza Torricelli 2, 56100 Pisa, Italy