From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1575 invoked from network); 21 Jun 1999 09:06:29 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 21 Jun 1999 09:06:29 -0000 Received: (qmail 28102 invoked by alias); 21 Jun 1999 09:05:46 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6742 Received: (qmail 28083 invoked from network); 21 Jun 1999 09:05:45 -0000 Date: Mon, 21 Jun 1999 11:05:44 +0200 (MET DST) Message-Id: <199906210905.LAA20618@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Peter Stephenson's message of Sun, 20 Jun 1999 17:29:36 +0200 Subject: Re: Patch available for 3.0.6-pre-5 Peter Stephenson wrote: > "Bart Schaefer" wrote: > > * After much consideration, taking into account the commentary elicited on > > the zsh-users list, I have decided that Greg Badros's ZLS_COLORS patches > > will have to wait for Peter to include them in 3.1.x. > > I will put this in if I can get it and the permission to do so. Errr... since you had announced that you wanted to work on the widget stuff I had to find something else to work on at the weekend whenever I was fed up with real work, so: This adds the `collist' module (there may be a better name). If you load/link it and set `ZLS_COLORS' or `ZLS_COLOURS' to a string as the one used by the colour ls, you get colourised completion lists. Some comments: - I haven't checked if this behaves exactly like the colour-ls thing. Greg, could you test/modify this? One thing I know is different is that I didn't use the `or' capability (orphaned links). Also, I made the colour-codes be used for the filling- spaces after the names, too (looks better with coloured backgrounds, I think). - I haven't bothered to explain the parameters in the docs. Anyone who will use this (I won't) is invited to improve the manual (it's in mod_collist.yo). - we could enhance in several ways, of course... - oh, and there is no GNU code used here (that's part of the reason why I'm not sure if it behaves like GNU-ls) That was the uninteresting part. Here's the interesting one: For this I had to keep zle_tricky.c from calling listmatches() directly. The simple solution would be to add a function pointer variable which is used for that, obviously. But this is an invitation to module programmers, so there might be multiple modules that save/set/restore this pointer and combinations of loading/unloading modules that leave the pointer in an invalid state. So I added support for (C-)hooks in module.c. This is currently very simple (i.e. not very powerful), but it's enough for this purpose. See the description in zsh-development-guide if you are interested. Bye Sven begin 600 p-collist.gz M'XL(".S_;3<"`W`M8V]L;&ES=`#,//E7V[C6/X>_0F7.%((^E!\J9I=/'.+:,/3BVL1QHF.GWMW_W7BV6'8=E7G]X/8J+0N]7F\6KG68)NQ?DX2M#MB@O_5\ M=6MUDPTV-S<7.IW.["0U\+6-K>O]MGG4'WQ?IS]L,/"YUGRPL= MMLQ*G'KX.\VC6PX_QEG,BPBFPTZ!D`3],8P$"Z*8,_C.W+Q@:LT3]G,DO#!);\3EE.#>QC$C.,%R+GA^ MS?URD@\\'T="(#*P:,AS/IJRB]Q-"NYWV4U4A.FD8#=Y5!0PM7N1]-$\<>3P1G*4YR].I&Q=3%G`N`/64303O`M79M,O&J1\%\(W#?2`^CT:3 M@@-]$;&!B30H;MR<$P`,M6!H:,1]=LUSQ%<@=W!@.2B`U=U$4IU-\BS%A;,\ MO8Y\&%>$;D&<=$?I-2>$)/N2M`#LY9(ASA+'Z4V47-`\Q4V*L@#*W2P4S,TR M[N8L`EX`6V&.B,\B4K)W/X'9&;]&EHD0A]1%A!PC\8J0[0)@G&;$X/=Y.LG8 MB`-GW5',)2XIDD>J,25B_2CG7M$%=/0OD7$O22`6(9R)D(X"FR6N"'3(3[T)8NBB!G=I*J2/1<$L;9JE MS<2%+HAAQ%&O_.M(@(C20-()0T!X(AI%<02D`BYBXH4*Y9*[CUR/>!-$'HAA MBIKEQ6XT-@H#1*+:1ZBTP+QXX@-7N@QT#Q4$Q#"."M2B5)IC!$:,VE@.T]B/ M>>Z%T.0J[!&I("H2+H344!)@Y$UB4"2EIBL,K)\;9DL-UHJ+5CE)?)ZCB8*A MN@E;=`4\++*1*R(AS6D>,VBN.P0`^IF.XNB"Y(DJIM9E8S<"+Y"XB<>EF,4D MR](A\YUD*F>+VBN._7"QJ1T0 M6,01SY;9SU(922'`",>\`.-GOQV;=K[A;&-:M,A3+]9 M0V('0F"UZ02::MCO0=.J3?C1V2$*ZI0-UA0'CT!.0KN=&O<,WP3Z&H^!4>5L M&:28X*!/G]DV^POD`O\6DW2QRQ:#"#]]^HP3_,SHMZ#>D8^?'GWR+_@YAEXU M0>QA0TZ?'#^/S@X.%CI?APK/71ZXD[A@UVX\XJ.4U;K_WU]8^$;ZS>%'*X'/A09!$7SZC@=+AH`HC MUQC_`A:-T5.3@#H-F"/XQ"NP'XA@RWOT/91$VCV*,DDRM`U;K=8S:5]F;IJZ MA,*)2BB#H#1'A:8>(==EB9Q9#<$G\'M<&SOVK$B$]:CS\/$46U"+&:LC=<1M1)`AJ$),F&-SP3#02!QQ,P M$9),>H=VXC*RI8B(0*DJ7HU7.F M/!92Y7K8(*>(BD;E7NA<<"0#)G)DBV@O="JC\_?$P.\L=SJB M;/5#BLP20F3-$.,2HA1,T110A3-$-0F1-T-PB]ZUM6:8

E),,UF>8YDLWMP6/6C2O`;2_I(3X M"A[6EZ0@:`#H$HM@MM./QV<[`-XF)5!]@93;'5.T<*P3@;)NM%FG,DM+83!O M`H*@9>Z8`ON_ZA]$-FEOFT74_97Q6/!*_[+0O,!Q$H!96OJ?I5(-L=E!?24$ M?S#J2RB>`^#??^/<)8A;!;E=:A,9-F*.(8`]9?_7__*RW]8(&51H`D3FS5(Y M7LG3AOU+=D(QJ^F2H#C>II(,K=,9&H)56\D0!:F)SM":T0'HI?M+"DCY&QSS MM<&5H1,O_=<*.[G'/\@#.2#I:I?6 MTD1$*G]/9L-H*P$^@*KB^)L0@X!3\7S;)"F+T8C$$^C4S1;C6LN"1*;8VD(6 ME]Y7:C;1D)2JR#U4(4E&F]UBI9EZCHAN>1HXR]QKEUKD]5YC/-UFB=V$Y&\S M83;>O5YD9O[>C4C=5'NBPQI8MGU3D4(LX]K`#'$9I`P7B!HBCX_L@3F@.-F@; MM[$?X-;&']Q;8C>ND#;0Q3(?#.2/5['W^E62OGZ5>Z^7F"O-1`E2,JB%%IU- M'=RZK.$Z5+UN4>]%/.?WGJBQ-9:A*ZW&6*7Z?2N*ON?%'>53H#81R3GBMJQE M]E3WN8E/L90`QJD_IX8UAE_D#3$TH?U;?EZP<>D-=.BL9O_<"AS0Q_"9RY"B ME1K6$,$7AQ,4>-1VS3=SXE+%LYR>[Y_N[I\X8]M!V-S<-;IIDB4<\;NJ47T-J)ND(J-W:A7$/E.DQ%8?:0([W1 MYEZ"0@9Y.F81EM<*VFG+_44`]]))+AHCDMHG&6#>A8P9W946T)(X2+E02@$1WL4D4LB5.DPM.#X,N MRY)8MJ89_;!F`8*V@7B,00?[IQ\__OIA[]0$G]HN0UW7=01^BAF=):,*XQ3U MAFH[-)TJC^$!1\$D1SQ.;V3$!/YG5I0L$MS%W#&HA'7\H>NF,"EH219Q* M`F+NYD'L7E#U122>G>[]=K!'"O8$W13V"AGN6_+0RQ6%7)PRM6I3N^I`<%Y- MUA"$Q[#A0GD0*\8L9YGLF"*>.GG4(I$L)7>3966V;&42D,S32("%9`3"-/AL M`(\*/#$IW"@1+.$WI`TJ+E@IPA-8!RG)*$]KT:I/*!4,:*L#-QY44,*1 M,^AJ>2>QJHD!N5\G&1TRX*E+S@T">(@V25!G2FQT$AUG10X)M(`O58+#(E(" M?V^SG??OS@_VC_9.J0C$/T6!@P.PR@,2K+)>]5(G)=7P0Y?LRC0ZVXBS'*TH M%H0#$5R6YV_8`.*R!.W1/'BD.ADGPH!LZ8!>Z99[``H_N=(;^=T9P!#<")VM M\25R,N57_%8/7Z6$L+O7,]6O52CKM$\K2EGBQY)$Q%#RZ;7V`)+,TAW$0PL1 M4MN7,5O`DW M!S^;U+R*:*DL)DP>NM,1Q[*`P@&>L(M+7%^=@^=0/"00&*`#8H,Y?J@640Z% M,HK+7]!?RE3A-;.:U68@U$LSH$C'ZVWIU95`,(9=3;"\;]U":,5H2M&Y!8W` M+V,JB[,,651;3E752*PCBB0@=@;#YUVK29,JWM>9K8KQ0EFQ2>@]O6759.U2J\,113\.A\W#G[ MT&4?=P[/#C[B+R!"@N!DA>>Y"8#L'.R]/=D[WFT;)8#\AP:;GGNF3>+$*]K# M&;U3Z"45]&IEEO%I-=K(=3>1)Q&\CT+-L68B&PFL[,`VHHX*,8V2('6>BE#] M;`]G-?L(\CW2E&IFKA6WXF8J.Q\7=R98_Z7SKX:GS*0]S6*"YD1GU;50?V^\ M&)1G`'*209D(S`81E23J?*ZB\"66S4A:.-I[ZF1-35[WCH3C%E80V%99P#I. M4;GF'$R^-B0VE!!+8<6*-82ODS1&*RQX*.."1!A*BV&99"YG5RJW5*@GTH/U M>K94<:R*>HKY5^BRLF$MT-#@R(R5_+\"5+2NH5,T.)<)I=E6;;4TLZZJ*H,S M17I:'.)B6J,R@UZ9RETI>`LI%_"1VTR2OZRFC5\E[Z\P\"2>;$MD/EG53DKI M[Y+4?4FA4I[8LAI3G/Y38?[9)5881<7);DT5HBOCJVH:07+ZAQ90G@1?1EF2 MHE2=,OI#T#<:--3NHJ(^I#G#NL9%%84+2`E@R(J]2==H/D]DMG&ETYY6P]C# M_>K8)IB3VORMJH*MRL:Z2I4.O:Y5#4OLU9?U(&7,K&S5MU.*T69Y!_?E&FXQN:4/]U3<;LH0'6P/]$]7D2U=P MY*B=;-1EB]^+[P5D(?;'=<8J=,":T"YZ8F[+5V&L\/D*Z(XQPW/]N,5@E)1@ANKT%1W4+?% M?5I1091`H>Y%OQDH)L\@P'W^D&YBQ_5Y/11ERM7^2]QRR/RF-N8(? MMO.YJCKB*WU>HL(:\0.JEO[CG>L#_.@7K=V=J$D5)>YY$XJ;6"Z\8T[ M%>>XOWJN]ER7<>UEW(S'PTB\.$MWY4*W6%E98??^H^U&N8]B:F\JN63"\4H5 ML"93N:M0(TB=+%2WFWL#W6YO/`]F2B-[`[K?;11=I0RW7LW(V[[7`KW M:KOE;5:8F<[PF#2HVXHVP;R$U^8FXC7H]Y]WUPDOLH,96*8,;S2)XB)**!M) MW#'D:Q&^<6&N>"U&5$R MZ`^>2U)6^XH4ZRX+DPZ>E0;T7U)26N&W)F:._A9YY%U.:QJL&V=T6'?4M?CY M5G_0K,5S1JQM;/4W2CU>?[[Y`KC;4=_(98AM3MS&4L=I/R">S0]SVAQZ]ODS M*3#5'NK$#;ELEU?+5(Y@21V+4E4)>/3IP]N//YT?OOWEL[Q52!2LK_>)`OFM M*-@OE!CDE91D,A[Q'`^29./%&B&,WQN$,*XMKYQA+B089":YWFDTUY_H]2G( M4$9RZQRQ)[PUQGK?04P1IWX'K6><;LZ0:#.H3-GFZP>:<;B.O&8-!'Y8'O38WKP])N5L'V M_K2;8@VS[OE.!+UFJG-%-8?M&RU`E!(3F M8!7Q70-#[!M#K-V)V<8=+E0&O)H.%=4V7B:1.OOVX.>WOYX>O#W]^.'D^/## MQS9[PQ:GD'>IBQ!&!;7OW3:YAL%?MA'A;@GV%+G!K,NRT&!?EZWRSJ0*_L7* M5$VJP@MXBK%[R>F-1R?NHAD^=0!,U;U=C6=/EW;F\I*$LQE[R);/!KZ*\95F#TSJU\O4+%6..L MM6M&6$@>]5MF[R+OBF'ZX8]XX$UT4U4%#)42E@]?+-;P2IC&` M/D9'V=5+H>8>?9=Z8/GZM="LZD#4-:#*]7=([NU[[S7R5AI?C+OE>8KO5LNT M2KWN['GXSC;NE`RP+W"CF.[+/S*?K,;,LO0P$3.LOIQBL3:TF#!S(3XT[VB4 MYLV`64P, MFO(5&LVAI*HCH:4B-3J!OJ`FT`8SL'A(-\OG5N;=T.IF1$-!'Y[TH-OCGBL*M22B]14OQH@.>1PTY+UI4>')AA7RQAD(^+K MMZV7Y_K5:YEJN-Y`P&W.=^=@$'+RBC+0C1IUS?J1*F%N#.:4[C?HA<13GFDK M3/^_O6MIBML(PI6K?H4J%U;6KI(%4ZS!%X(?.?B1*LPAOABQ*X/*VI5+TH+Q MKT]_W3VCT4C")JGW3T]_9AIJI/_O+RVO#\H].+NQ,TL!GA,J=0R M5X]`C^$_8TS:NWK%WRC,-OM^,&(_F_J=\GO1@B!N7 MZQ6KG:_XLP^2;IOR,^NY3T[I\Q7\!?Y(2D&,))]LA/D=U=><2HCZD:]^1Q;$ M@0G58_GP/S7T%VP@+19'T_U]QHG))//V_8M/?UR<_XUU3.;/G_\>=>LNWKUY M?_I"ZN9>W?G+#Q=_:;O]2,75V(NP`\S*&8,=/GIB=\VEB1)3A_RAR4X<8 M!'H[PE%AK`_9>+A41C.NK4K+PNBD/8[8L<%;],1$5\S"K+Q""J%N,:(UHIFB MZ51Z);$F269"J;)2P8$1E/^@%]GC/Q4WV+6=9 M^$$21K&1+0&HB,OH'&Q*IIY;"O?"LBEL&=)MR3?))_;+ZT MQCW!S6;<([N_RHN!`ADN$9)S#F1_Z'&Z* M!SC<5`U$R@[&.'RD#4Z6N>-HFCX%AW-FRIG'X5V^?9C#YR/\_<,NAS;2`QV& MSH;I=!:$=L-PN;=ATELZP5D0U=EM5J5%J.X&LQ?(1'8:3P/0FUFKH)YE8W2WN/,I[U;T:.]6_CSU'VCUT_0?IK5> M^7B$A/O7G7;Y8H0+>AU:/K`UHYR`3!%$-FN&'(\>2QC5(YL6^033X@%2/1TD MU3"\1Z1]CM713U'^?$8WG/Q9-&$B#K M3-YDZXES]D23(#ZSIXLO_Y(@)JR;-BW:J55XVD$P,FH4G`&29O?R[>G9^1X6 M\CW].FO*&3?B"6#-AX=8\^%"`TRD(&Z%+PJ0S1*[+7=EAE?NBHG8J>F>N&V; M`::R=1ZO.C6<0<.68PT<38Z/#G0-FLP2 MAC"ZSE@?KK08@]%E/P`A"42X'GOBHLD+F#:S59M:=':]S5=94A;=^U1S6$5S M1Y2-MQU0UQPSZ>`97V#"?_/#IS9FDB1)(+'M(%81PLI*6M2EQD3"KH:?A._Y M[%\[T(TZ>(.X#:C(W"QFLUZ6\"R,SV4Y?D.+*G^=`D1T>KZ3%89B M-WRPTT^K:\[G:Z:X3I=D)NO)R,YOK1"_#9O@**:UZ82A5^+`M5!F*:+CD1PO M$6WGDE3)01^TUL!F(75[9!I,Q[ER-3,^;/#U/3 MN@5A-RV(T^DYL;1O^1O7=%2O9[RE=6^\6K)46T#3N75:V]>S5YE!',=\E'G% M@629F#U)H>',`7=?VJ01()2CL;ECO1<]P+A#>2UUGXA+2+%H&#ACD\SG2=Z' M5WE3I=5]VQO6;,FL?;[?0ED0^!>VW-S=S5WEL>B/W'!\UEY,^.YFS M@M'IBEW&K=+5]V,;@A'*#7'60#[VF&$VN_\OC5<"?8=#+)-/1JY(:W65R83"V(=SB;6&J1/VKV)`9P;-$-]YFB5 M,@<[&E:8L<,TEU[XIC,-.S2)+L[G97K&,.9@6Y9TI-5?$9C>*,EHP9VU$>>Q MZE$0SVQ(%M^*2Z7N(+NYJ3('.;C":7/18RS>'^!ZO=^);/?70@[%%"D#R-K? M9.)1ZYT[WW.F>.]USIWON=,__6??$=6[\::MI1ZU4N7)7X2^752TN>L@!.@.# @1*M6I?)7YUJ*Y+4>M=FW;+G%:ZX@#/X!E1@+3(]O``!7 ` end -- Sven Wischnowsky wischnow@informatik.hu-berlin.de