From f6625c2a4e3dae97be16c5c33d2925c787327f82 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Sat, 28 Nov 2015 09:48:09 +0700 Subject: [PATCH 01/45] Close #175 PR: Refresh pure screenshot. --- readme.md | 2 +- screenshot.png | Bin 43921 -> 68513 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 326a397..421aae3 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ > Pretty, minimal and fast ZSH prompt -![](screenshot.png) + ## Overview diff --git a/screenshot.png b/screenshot.png index dd7db790d26640d51a018fcb5dcf7f127976b434..8f338687d1674597e0bbd11838416abc36c420e7 100644 GIT binary patch literal 68513 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�}n%TRc=z^DZ@Q3S^d&RC~qkG<9udQn+`EY!9qt=4bKtT{DfrlO+hZS zUHgP2s2^uS9Oq7#ye+fwmQD~3jo2-uR892YJt+L&H( z$uRSb*TbYI$2zM!^lLR%n+YoqoeGO zPe(rEc0^R*)6S_nY8{VcI0$jPpl_(!5&}`Vs6>j1I^*tq z)?zsieyQLrc{T^LB9XrU*3vq>T$wcif2I=I@o{6|VnB*xh)G`6C((`mcl~*j{_vob z!X_f1^No4)dF02gSCX3=e1lA=YPtzjbmFZ_%<1x`Q$~x*3Dz-H_zXpOqVFi zD~jXY_6my2(eX^ci4cb$T5M<9gvnbmfx79oHlfzj2hRu&Hp{wrho`WPI7FbMuFOM( z@s#h6)d}(8*{nOVs*X^KWoRFP2cB}xed#6hND^uGL(C7l0!?gu4t+tRE%0|x>CK66?K>fM zS(0`BGv||kC-pM2fDjlTpakjeO!jti?b^h7K|DOf|X{# zoxNqIYO@ZBQMOr~mX8LI0@1!9s|k_t#^X|>%CTNvGcrTaEkl-cnPI|%t&ZT=3;PUr1A)cHNzBt?(J;{l!1_A(@=F( z&%Bd4eENLsyPpjR|6w-13QQLPPKqqBGySq#~ zDG{>n7{?o!v_p?+(HR_@$s9S+ZpT60g_U2b8s7p67QTuavfx^OJj8$K_qY-D6@0>q z;Nk;qwvR%Gvtm-|yOV=lYLhQE%?SZD#6j&^-jW`U)RT4d4+9gMt;V1cd76?~ApEX1Kk5>X4E$JBNR2tkGx38c+;2^$v4qMwvGs}-_+|yO%f!%WP zRXvpdMARpN+#N1RjMVqe&wlkWT&cPlu@)`mf4$z6lYK53E%kJ`6d3H$m*xgdvv4g& z9ZK1;3Gm%S%t&PE%MLa18G zAaX=O#+V`?sqDtKHqQ3IOC07uYRDM$^M~zfUH{;fei$si?b?&oEk7DE^LcBO!Mk)X zzsgu<5u)y`USpR~&tp6<>M_swK&nZklY=w7%I8@qp9BOQ@5?EBaM7`A-1ZA(Hfd0s z>)WIqHLgNI~m;YSbe80X&sR~B5`|pOlxMA#|{AtHPmZ- zKxjTl_uOH=BlDvyO7B@O0tdSZcNf8K3#YO*9V+4BFY-Ouf=4wManmleX?BIkxSkpt zFLl`YZKbDLyYk_x3E@|d?uCi%6)P7$U~u1^wC=zimvyT~LZ{i5kWtH_6u?#AmUgG~ zy5z8nnftcu1{DxTLeX1VFU%c*&Hsu|0EY}5kEMU}_&w`eLS`Uk-|{s{=_~Qw$C0uA zvNPWF$ai{A$EXQ*dUC4#u!Cx<>pqRGmFbkg5KR%^lA>&#kIF2uvFsvA8nrn>^Akc< zks_hh&4iWUCjAt2OpGrwUDM+ERximdi5!IVK$Z!`M;Djm<0RerOZ@$8F_$w!6(FBM zn2Kw_ys_VOZko8+hy9_`m!*;rd6G-sn(2Fsd!WmAaLs&u;ZEUGW4gExvxT#srgxt+ zH%IY6l^04XK$sG=(=Xi>Kt-wDLNaU(*KK(sh$9K)g;T48Rp7e0`x&_=ET=9km;hqJ ztusvY2LN`dB%ZtX{Ri!CIGF>m`b6NvU!g0Yqc8$6*S$y(OL7h%_s&{PH4T+i#lNoe ziX;#K#^U71%tm>2qSzcF%v4tT6u0Z8qUkm}!wuD?rFws+=FNHW1JR$}nrBgd z1qjybS3-b{i}SxSE`aVYXc+&C+>aR~`hwzcAcpWd8@5qb6B4QK;wQZJRtgPu$-%0% zGXA={Tm#@bLNIELC^I^eUgymWLwOR$M-6M^kGNr#03z0-sQOiscttYB0LTo&wnNY} z`QFcR@~^edn*1|H&Tv<>LoW2f9LtMlY^-`PN4=^~p{u~i@>b%$=UeJ{JR9yo@S)(_Gce<4 zO9-I-qPZYyX7TUuAmefsZL!Rlj84}M+dd69dyz3#=T>ul)cW82!bbum(O#*orEKUg mmhZ@TuU3CQJ>r=uJ&~2k3|fj;Kv4b$d{mV*6>}8ee*XjYs1i5; literal 43921 zcmaI7cTkgE*FGwu6e&>=QCd)>NfVS_A|fClU3ycI-g_qkA|ky@jdYOSLJyq)5l~v_ zy@yZ(1QL=T&-0!$=X>Y-&G~1|ePuC=bU_Kwh0SE9Mac)|9%E>QJG)QHruKl=?x4$#ptLuRD`lHOem63)X|$pWIXF ziiPi=J3-cJHHL9PwkBa#MFRuw*_(4CzOwtOX1C}so7~n1^AV|n-tS6^R7iD&{}iaE zM(MBX>YuoZK6|$GMdr;3rZrnVO{3_7fZAt&TITQKQf0SPeWEfsPnK>;bQU z4k7>J^&ug0-!G66dtj^^4sQ8%@6x2r?EpsC9k}nF>JQ_UXM#7J1T%-J(5tx zdTM!6y#FTLqRJWFe$n$Q>3>Z5zrTR!2?tFcZ;oVuYmc1u2{edyOI^&Wo^InP{X7ZD zeahf>6+PFi{2duTN$(cR8Hm8JfZ$sXeNKQIG!k~wt}9=T`{hx{2XRuiw5{Q+fO-9i zSf8oXfqL&^%F>HbLM`l61^DAzY;A5+F@)m5p#453s6@Rkc2DzN`*7tJ%!Sx-Ea8zi zvokNHxu%Nx|@6^0{$;+{r^lnmI99x<0Gb=#K)RUgmPfD6;sLmIe^Wg9V3mw zUE%)qovfsPeAu9W-8mg!Yr&*3*s|7&Tvl61?p&_XIkVpkyNr@r>yAP&|5|$NWbE?^ z9beg6RHdOjk@GP z5RHI*>Et-Ar|I*W`x+niGgl-B_ksIqbxL-5GJmCi-2K1p)PLs;491=N1e5h>Y z1Wv#HY#~!`P5f1=79!xYD>vt}@Z3ChkmL?>5LeuO<#9iDpo6)n^Fnx_gxlJiPb01; zZ?S*GJ{<_wtD5dS-?MxtHUbpxIg!!3eY&H+?{VYx$%y3O^RTvMyl0_g;sayX`Tw77 z_a2WU4ov8j+#-8%-W?8*ilyKDEmaZ)B;(t(sw$Ti&o#&aj;OA7v~Q3<+`VO|`|9$q ziwGG!8sp=V8Gd0EcmnX>dPYwY>6^_pTMUdL4@}9k-j#Q(Tz3np^j7Lx07`niv5aGw zCqK}VDMLWDE~yKPoua#C5mrTkn$ikB)carh{t`L>D31R-6Tf*8!DT@K0e!zRmAORW*VvMo+xEvh_Jn%1@NotXbA74y%wk zPnQ~%cFe7NMM|T0?AntDSB{wJ10>yt)g1F4QUF2km(P|uL&e>*14}?L`lp}2@8wTM z>uv)43yMcF!%ww5#lQC5r0-ox_4qHZ{ugPo-zR=EU4B0-b!UH&?SZ|V9YPKhbz-t- zJypuejUi_Zs|E}+31`YJEG`0APh9w-NpaljH#CQ%MIvv6}q|9CVl?><*{<*D*|x>VxK z)0kYt@UwJxwSO5MC`eeGJAulatuPw5ehhrXZ+iZ#?Zivt-}#T6{ZC{=#POA;Et6Ki ze|)I59)b4tDP}ykrmYOKzG8L^YwAk-3JLbE{bNb$7a5jp$!*m^S#9Iei!-n@Q~#qF zGXGD%xr-PVgBIVVHqn0UzRx?{ZSY6Q0(Wr{_k6b-F^n>v6`L6Z4L6(??$0Iy7HnhZ z{A+cho&5vS+b|}zZB34(XIwiGA%H+?iyaOt*4mC{OB|W~zC*P{J0V`}eET&Mn8=W2 zhaU+#`N_X+S6@EQL<6IzcwvnBc4=?AqhyWnRQNo`nxs{XaMx$6ruHg^>!;eY91K8j zUGM){eaw>?eJZz4uQx6nh1F;EFW>ZAUR-D7 z-8nw#0l{t57GDejXtsMo(JsBH947oCw`|o+g~&%%|6z& zI(nYkBIoQZ*g+CVrWOsYG;|#Koo)*v?pix66l+Y=ttn@wT zMCnv)W&eP_<`4E^88NO&(h;`VYRmG=51ksj3_7yT$DFZHuEK>+Lt{?WDde)7Ypsx` zvchABWBJK8-{?mIe!;q{kI2z1XH=J=wB}tj6ZrIOySkRbMXOa{?PiXbvwBUTavi|Wg~h=B93K`eN-?GDM$E zx>zC%b_xC9n<3Hwox!IFpd?(LT@f%)2)hq_0h^jzTFTqn=2HYr?MzKgMU0>hX`WtQ7dv0t62WUn0Fwf2<$Jb-FATBI z#VH~uNZO}nKE}>3ymwcMt$`Z1zc1Zu?e?0x^z`>Wl7a5S_W$D{7NjRrg95G1ll^%8 z=tl0F-|vd~u0yhG3bz|(EfV1d@Um*?Myh!&GBu!k!9VC18tj{%csx<7Ea1+9ET3+j zJC_<(1^$_lXLY%edoU_pi??m@p7hB$=&lxB|64gz26djv<1L(ZCR|k2J34!~!Th|y zYNEai`VL)yzL^GK`uh>t_6LVu48gJ#e^ke>OBDs;POE`gRH5a?T(@q(RCho%7Ps9@ zXS~<)&ffXw1XYCy2Fi6-P7Vv+s)(f&p7icwKHZx~$lMsYF<(P2j4=T1@>mco`q~%B z(Ww>P-(D`sqlw8vFi+Sxe%N^`{`8(hW)u2xEinHgHIZMFimh#JNGJ6}B zinC-X+W|V}3VCtffiW%i`l(A%#Sn@3|3gs;{T~{3!VIqx?Pk+wUBT4K(E>-&AYy z-P>kkvvUw?GyE9kxVR|M?cO!e1PG`VG->l)KklAQ8~L4fMT5Wnt)xdbmtC>@b3_(` z6y6)VNJ+G1`MVg#`}Ap7vnQ%55a;!Tlk+1yhGnYWK6Pk+t|{>Yg#Gd3V$&l0z9MN- z=)~Gsq;hKF-C;O6xkVJE-Vm-kZwmJckjW@|!+Z$P7hTTeigF>@8_#C@5g_a2U>IBZ z$~rMBJ}_oR(|Gg|i?fcGc&dALR*&%AnrsC0^-YT|rUppJ@dd{l%n9(#PWC6pA^|-8oBDL9UBzG-xzx=vRr81RlTbM1;nO>vyu|O$yz`{ zz-v<9o@Rc{bhrO=;7BWbnM1a?AgNk)e&OsE7w9CCORFJLdqBM?`r~H+q(_Fx(+LfGb<0F^0#!YPj zldvU1)7zMg*=n#S(>$Od@yn#&lvBfn$70fg5}{>Q+_PyXVxX#79RUul=C1Me}1prH@)Hdd{j{1BHd*!(f#RTE#K&0spJ9 z(vscOqeah7+n)4J<|W3c!06MJqxNv(?;-h8j5rH{*mtgB!)M@x>{%odyzxWN8KWJE zhwj7R%`3b<-@yvph;Ce>21VmCK zHCQ%OT3zi7nx1No$`1vbd3x~E`VVD`{M(<*F0= zq2*KACavI7Z-M2>w$esiY{rejjG9O+R#9TGeJ&Ea6IM9%-p=0hb-DR3QI7_9z5#*b zQ71ImbY#g|eg2Muz@EC}2OIOjp?5QRfu&-UXjEY#XGKwKT{u9bTw~KPcH#G2`OUVp zZ8g>72+!^Mh3&cR!yP}U?(vH3fq80+%r%3QK;F%*wSmML0&WPL5^rH)jIk=ixi>8A zixKC89TS3<-c>4_X-JcW69GSnJx&g_`7BzsaKp!sa=TT}9@Aa}pT zgifE0G;3-_wxVFc#jGRq;ow7mnMogQ|E}9>BGZuwA}2v7>%pcAYf(3GQJkm@+g?&> z5#U>>B@wvt@-R4@IDEOd+}?fl&>ly`DC#LHlC7++Zu1LVZ|mh)+{#@_QA_1FRy04^ zO(M?w9I76P{J>7og!%bh{S^Klz@aNv$WhFRfwcpj z7uIO%cDo@Gpq)KfJltPaU&Ejjn-A54Kgo;qsG*rl&HQvdxjN8I^M;{$Ts`@7X-MC9 zIbzrGg8>Lgw-B{zr{N>@~$8$}7J^8&i^kLt2-t-LyS^dKYa?NgIbe15| ziBntRc69Ps+rySW-UfhH$y3UJ2m8VGaO<2UZRwr%p}sWx-o}8u$s5f(2SUsK8Df?q z&`iS?~tQ?|J) z;hyc-k<|%D$(dqb^q-4F^o!U%24ek4fms`;Auv^$7IkukXp$rF_Qt0&4Z*&@DH<-n zf7VUpldTtl6w>6H!g!=kC}SF$wL|mxQ(g1Vg;ml8^0wCC+|s_3T7$)B!TGyZiZ zfp%0u@+2SCn}be-K6fyD*Z<}V?0A0)v@Iy!0tLYasd^^9H#IKY{%WtLO4H?f`RPFg zQm{~XQ0L*q-{%7}qSmVy#w^DR=VGJVUUys|)P|J^pU0ddR4+9a;Y+ngx_teI@RXhN zempnXO$M=*4)`G%Q#EnaZ_V_(Jd9-h4E)wJBkDKVrw7y6o%2G+YXR)$?56oT7xHvk zxQSPEns>jUn3$LziK#VdZB=g%y?b>!|L4z7F)jW)%3@ps&uno7;#B+Bv7bPF(7cio zx-KRLU)Gc#QR2&WS+NP9|B&xE>CWLZYDsX1J$Kr1z1>KR!Mn9%D>s$hKJUhR_0#B& zNXW77okbG0%_@v#tdo$AbpT5uEfL5@%=0d^a32<8wrTuE8qMJPXXS2ZvUjqWfkD$H z+07G%ICIs`(&K)SDeE}XKw85ugRyaj)2F48+hn%%)^XZFWd1bTZ?m(Jg{f=-_A^)X zQechn`g!I)vMdp*EH!vO`d5NjpvJs(4uFgs9Y*5T{u{BA9LG_r zG_ofQae*6ZwQRhUV;4kPsc<4~v}!gSP8oWjJ8Tos0+xnJF@NC=qjRmdxm$6cj+5?c zutI@vpQ3he*vUI8lW#xH(rc&-4jc%qZ8PaR(dLwqdf4_APwzYuKt|^c=osw|o-z<2 zr=+2(F1Ho(dLh^~oboJ`*CV`MA(_Ba z?0yqUeL6AKalb&cG1>G)%h&~xzs=c^tkPLVXYJ68WSgd6Q+X;C{Uhn|Yo}S9CUykI zJtO{?0Ea2XlDw&q9SL$n5I1I4r&t>9b#``AP*Td-*xc~ild`*RQa-h&AnEtO)U3Zk z%F)y2g&3=nUBHu#jMFP2-Zx&7^KCvYR8q)kr>FwMHhNab&dz?*mm_(XK@49B&nbKH z$;vAI_~_Zr`~f7;u!g7Ka`D=3c~gfc+P0=b0~;vz}B|!D<88x+d1PJ zS1&u?i+i=vm0rvh!DgiVT&nRkJa=>YWYg)6ws(30$BC8cM6S}^y<*}`OQSjQ&KC+{e&o43Z z7?YB!*4?!md)I3ae9L88z40@zC3{8U>rZL?8%vNwFst0kD)_bh$Q~Apmc`ojzYJK# zk-(UCB6!(bT_%=hxSdJOLx#**_7psy$k#xJ;QN?IEcu9?ImWwuEDCW?8vZclo4FY4 z-L&ZJP>N&1a@8reeL+y}FC*TW2PDeeT3k=RW}Hn~NB`s696^Z8;^8~Re+K%0d0Sab zkef=)s%=Xmnaa~}SGrYr#nq>LE9{|RHiaN_8B0CnB}gIigc+H!^lM-s`kc zc|Lll{!F;`P0Gv^^!am{@(TU0pcoDz_i3_)H`Ahns^%&gB0hI^Xd3fwmc#dAlH6E? zieu2DL8Fq>oD!Vs>&u0JJLi024-|_|?P_Y&$x!2gHW1~@QT4A2*F2xXA6@1*{oKr6 zNA2wNNP9*Q{mdlO{hjhIx#4Vq-M0GYmB^M2UUL=9%t~uYk>n8&;gL)a8ib_v%v`iBQQa`jA!a&-k z#y`(abwo&azfxLL=&Wm)ZeZ1ptH@1L;XoORUB zq<@ehLE*maBBY$m!YzZ{+Ya~YtcCo>W+?_vIull|mGNbL`*Eafpd&$JUs{;P zHu=_}>W4zrh^xr+;)RdN@ur57B&y%>Le`MjiIdauz5I;J0x^wkrKXpb9(svkgY%Bx z-CA3NYe3wBv$k$3vj(wcsgj1k+5VdG)H;Pz_(`+IG($JPuP4Nhc?MW!j7nPlc8 zr+Tc0N_IR+Pn6#9<7}0E+0qYgqMg#1VJK_QJKQE!m_c5JhqVCZ7E4fBQEj)X`Hkj5 zFd1r9_K8M;^STidm2@&VzDy)tA?~0D3=;KhLUnP}yNigLD&LHwV_62bXcI4*w(9j; z4!Y?bdK@?FWnZQ9{_O26U#k(_6_P7|GML&RQ#s{+`!A(3AdHv zmHxtB^!}nh9f&%BK@7AN3zWvK7H(dfV;1fY3&wtMAwrww_8AT7Zu=JjU_Qt6COZ>! zN)X?452JbMYHDRpHQ|Ndc6N3Sfu5csU8MdWl{zenO~zRmCeQk;r7o6HNpg(|+YzXy zZkN@LH*@05pEDFJTx)%pgOC2h?$9CYSzP=-dAV`}+E~4q^FB^>hLnC!;B=BG+~yfl}IhjV^>OWp*fS*2Ukf(WLLF#$;pt!3pP^_m?m9 zo1MRAS~Lk*dYFfzmrhgz?N(4~2@Y{z)nZNcKzJkLxIqXYS z)K}Tp^QMdxqpVi~{TmVGUG#BcAym{L*>wJEX1crRx8&7ZpDddOYi|hiTE0h>(O3y3 zNW@vjz3wbuEuS(~5s&V%DBn1L@z@L4k&addWD@zjA6t@OL3=0_qsH=!o>PkZt%ujm ze3ozWo`vkIFoWC&2v0C!RKT<)q#o8SOD)jBCH!)6F5t#f^nNAmguNWiEh)lKrE2=59cBxmp}Z*my`oWcZTEV(}{XeX$v14|Ru|ly;8OpYJ3L(f&|j#qWoNp``gefIlXlUyN1EgODuP^0U^VsgHkv>9G+Ja!yVH zm(95{;Hw^k28rOWA~D!j!2VSYqw#rG4V{4jAdW#D3t{a}ffK(l9-mHb2AXvy!`fW) zh{lcEe*p~(U_gV~dlVFjYeZj?IN|)Do$$}u;XX@~@9D6@!BtGG&KVsBzyLxYuOiZY z>L`_{+Pr>aTiKFne$qA2rvnl%xjbU?E#OWn-NgzbpMVuW+-NuoJm}8R;{3553yh8G zEguCOTG;;VEnfv{Kb$a3L*10UN|hK{F5fV0*ELTAbaiz{)uG0BU*bjzFS$Izy|Jht zX&Ye&3D@Z67$dpq=8Q}qeyOk5QG03sbcMK+{kOD-}kW(9VB*?fnKVqn5WTT)~>HcJaEyj=?r%BMbqkC;?a4xILj zl;FG@tSJ2wEsRg5>I9|*gE#f)!e^^k)BSCE<#4em5y+h5MRVI}Xwn!{m2pM?J6vNV z9vPGb+a!K+d6)TUjBP9Ok@9{>#4{1b0JA%K{Un8o()2tUQo2 z!M$~O&E#L{VcyQm67PS@;pfxDg+5{1l(&v%D}19S=AgHwHmYX?OhY|I5qj3Bg@!w> zKJvOTXGcBihnm`FR8sF~majpBRGSU~g_#Owe!{`=NW>keGB_hq7QiDI`kmMsJMkWl z5j$Lo6lDC}cZW_o4tKqsV4hYT^~r>yBWH{u2RwSQvi|9VBLM5yqQExm3oZmBJ3A3AO=89F^`;Al&0OW*xvL&(z&acNerv z9iVZ6T{`^2?cWN{|0gO^h^Nj44ENZcKK&kIavD42JXO_s)iGQ9Gd&>ZIH(hcfDP1N zb@85}t^m|?ot+#(vK8IIAEA#w*O(&otQLc>V$lwg33+jr*HGiIv;#fEHLju}q}W?s zt=BZ?4uMwBGPRF)Bc-}q-*(tPbNb6<3dF!g=+-UJTjc!D8BIB+4&V=pfA;X zqoL5^c))OK@&&n+(X05auG19XH#WEA0xYU1-PFY7DtNw?WZKLGeX~@8KQNWm+x$5o zldpkMd{wgW=EXVYv6YNA!{+)5x)`uPAwH5pDwn94@a?ip?1SNm=L~F^R$)3dCIE3V z66kU-6P^R-bbRt=@r~gyo#e_7O#E7L%BrjgaBgsG%a7qoXHXA3vstyunu~!yezcje zR-k6O4nl07C!1LM&!3dShkc<9rT9(QdaDX9KiW-g=Y$6?fXwSAlJ^j?`P5}o$(y$f z4l9|n9lI&1Xg@uyD;QYE7pBnIOuxTx0k~Pq{Y^pK@0Jvem!@6k2tUPac4V}_aL^qh z4_m$eA;kf>#@uh4BZC%Ff6Etc$0jHnJz@C3X-C;=0_N7>uP*N>%h}@5N}sMma`#s% zzG1|dw^cb-VR4%0-jg{06qGg0{>~;s^qeiP=Cbs>F0FD9$7|^(9UoEl4U$xM0f+N>Fk*ujvqalAbP*CJ-a|@wN&|$je zVrY6lRPX0`*G&}Nxo*gF>)&(H`&6fGX9*4qpeP5Co5d!Q0r6TBeCM-Ps*YrMFr)pw zKn1PVWtXlxXQ1;^dgxN6_7Pr4>G^%y8?!rffpHsOLeoT@0|)JUEI0yB5;yC02x61E zKlAf%^!E0OyRA{IpHCNtg@q-#We@Uj7@X(kK6dfLY-xoguOHRyG@B2C10Q-1$;m)9 zoHM-pR@%6xH1sO!MVVwnfTUc#@4<$+BD~Y7w$Ry^v+5#z<^&IM7!k}3dbZ!%?Or@5 zLCiW{yfV1|6x_WCiF}u%j|zzQh?E|(tg-=9L29nO-|3S^=ReD`jhYYTUumG8T_odr zmd-I`aVa4(p4Ty3XZScwSJF|fGBxgCoURz$#sFhIpsfI$cBuKu+kXM&k|vpb1cz!W<9)I0-b9?^?`$JU`BG zruH)+Jm#aJI;Fk!>8qoZ9?o$*z;>=QiuExFD~GHL~BI8GNm)Rdt-M(4mU^^Mc_}QMAH| z@nb3H%(dyvsGJ9^1hVV*TX`vYa8{sd4adRPiEeHc8kypc031zLbEl6WhGq?xh9&Y! zAC&c+QWDD2u{CC=y~3Ect8w})>M407! z?F@#K&|J;!i+7a+`M!vNPEXR*{9r*C4LotV+wtOSF6Q^c3LOSjkzr~nb?D_L^L#_= zJnfZRYs&HB>t;XOw=C&?;zmtaDta!ILh~IZ~hc{ zS1Fn??B`FmtERJ?W~{71t#bwh1ZLedaaJ1(RL1l=L;r?nVo-1ohJQj=<0C*_Ztg3( zWR}7KyD@&4*%TH-SG;rl6h?S|tpZ2g31AOjp4`%Elsc53%MvCzvr_MElc;qOd~xG! zW2Cdqx3f`f_C|8y&E*QpfO%Gi&p^D=%EdG10JH>!i1Uf4B&5eGFA^R9S4-Io?Go~& zXTt@!n|buaZt}Emb363V6ed`aie0vv4sTTJEN`A}w7;%!rXK!~k7EiypK`NN2SnAN z7KgGr7a!{bF49wrNJ?upoO+HbH*?s2%HAz}H)Dr*F>PIe3Ey8?pipM|u3JD?1^vD- zmmcgG{phML>t)5`Hlk!fED#Y7uw@B8D&)IWQYi3u3O3R2RGjf)MqO00k6nC-0TyWn zr_M8W{&vHtc*d%lHb1K-`m`3)Wf}J~X0yL= zDNL@`s5so3FdEpvBqp~ru{s|97-4@ontF82(jQY;3ZK78aL+oGK=dD~;4t_B{Qwbg z%OF?=!Uy*{PX9}ObHLX3D>GRCd<1$}E9)Y;8o$9M=RWmsVd1pxp+Tbv@b)6{2r z^76MTRU_}LN%cj4to!jsUe^`#dr6{p+BMG^qul0Z*v9v)FHG$Ei`zQ#Ze7rc5ayTYV8m9~XKKO#jZ|A08cP7G}5Ta2Qj*Mu_ zT(88~ryfVLOWaxdXdD=CI8i2ec1lxm%?THD?@aDw5?NYMSzG3O0!}cv0*~A|<_8L- z!g2^XZi;7Dn5~eX-DHWEzq|rck!aZLhTIN{p*0+qGU!bEY?nF9QRb^I$(|#lxX}IZ zUncgSH%0v)B9B}9YmpU#68o~t)9)0a{~JuWJm28p8@JrHeH+YWn8lo!3*V-NY>ySq zdi?$&G}YwJMc#zbe|ge62*ZZ04as6Z7Bf`b zjOrMoTy?P@d_6~*7STc_@9LdK$*NG^(Kf{$YBOg{AJKy7cJ=-nFqg&@Wjw~YYNg3m z5q$z@VE?*o&@Ohz;<}0d#+NC=AObNja9{aa%9z)l8HgMen*DNnN9@2b8vx^F3}&)i zJ+K&hGG{9s4ArxkZF(@*Qpb8G05_h(pX=V+di;>rKMyY-pf7zFvU#5CFvO&{nN8!q z-nZoS;oxz~sR~h{SFkH?$?QklEO~W7VpWb8<6ZTyY}@14aeb4Wk@hYax>^HSjaO&} z9ubqr2pkV{QPirb4j5gGm-PMW7 zD=T~JRQ5z;Nzx3Iv?*(ttz*l8q|0|K3q@dZ9(%eBiX!T};`~k|bA#46M=m(lHu902 zsE?O*zAkBV2L)M~TsAV)0%I0dZIfgriMWrD8tRcS>A0&(oujwXQ6}=Z6qhSKaomi) zMLcOnx>o`|HPQOg*vHspU)7}fiXH)wwCE+*q?8mDuu6r*KiwQ6c-Qn?Ck38zYTm5- zyrd)@`1VD_Uk7*i13Im{NShlX-=!icxLZOfzEe@$dfX4&=WhJTt@!pu`s>8s(T5B6 zFT^q;bgVCIeZMEVgPPKA{djyraQTHp%LZOxwvRo|ycgDa%YP;Q2%MmJ`v|)>CeNjq z-O(jdeA|-3gvK1WMFt|(i}`wdE&!N`e5XT>U}?e^28w8Vl)2r*AOD=?QXb<%Tpfk5 zRD6}U73&Of5=fYM4xBK&rRuyyr_bieP^q)>2oSKpmrCM2^~ZfMDDWAF!)r5@35wWs zv2F&=I$gNSZ+ZGN!8WQ10jW`74-&t=bOLed}bJ z4L_zoO15VR(&QS=lfR%BucLg8EqRPN^s<(7vY;D@W_^WH1#{C$UOmA&vnL(#WHJ8l z@a(<3pHuNVn)=xCr};j~*KE133!*%k0%_bVe9Z;UF)NjDkgHMRrRrjKi~O+UViB62 z@R#gT!Xbd$6n^@qr}g#});+|7x-v0{fYRQblNUv=AFJ6?DQ?J=kcE4U-^78dh~zl1 z3juHdTmrvZ1rlIR^ODo8zR#~4VsA@t-d!AjwS+)kwcyo8M@RAD>tarG+`Re~uV>98 z!S;($kLRC=yKpY=Ygi-#sF>l_#0Y&QY&TzgIKV=I0u#ALC;ki%SwFVUE)s~~9RonY;u zOSQqZZJR8wS393*#tZ@tgxQHthDs9Gt>&5B8mwXXJa8IbywQj?-~kulPX7hux-WJ@ z$QO%Li5nsAo6}x2lk2Za?}LT~6I;0M_m^LYu~7*>%J9=wuE^sq1-^ZqwxjmhYU*KT!Od-dlS%*WPIQbYjkH%nv5qV{2k=Jcu)$)Ut zPRY55j3-2sq+RKUk9dy=##ZH7eCrcRFB;J%MsTDz9mc0_*h^@1wRV-O-4P*bME26o zGOGERmNS$+Zi*a*ChG`te0UiaxaDemVAIy07uYfLt;R$X~q zV(LRrh}Vc36hsbzj(VZ?1i7cTL-i=$l(?g60X-E4 zh1{9%6Pr!I;GUo#=dNI0Ct`J^`vM$T*ZjpF%|T2N%S5;_p?X; z>_*psWJJc9jT5)Ef4$LWX+v$MdnM8X;{4W_8`E8t&lq*nG4v8NMZ7ZNL~<nij!G2k^;R$f_2 zN|W~nFIzy0UjDDf!24;)x|e?A9H`wS=z$waV{Aje1_T`sX@8muAuezO_Uol~;=;W%);Fc# znwvf=GW(ao>uxPLe!*4E-#TvGmn@h~$I;o@$ahki?S*P3e@_i z0@$lQ2?k`ZM?#g6LncjF%P=aZ`hg+;z@u}q%WPTCbAah|m>{A6rB^X-qMDGP`Zoc5 zAv3L4`(}enR?t;SPn+x1kwtgWH%DN`R!Csyw_jGchGs=JQyX_2ayYe~;mE;$lkO9O zC-vxsjidQmZ6pP*TRgtOvCfQ5sHkjPaQbfycTsYxVu}Z(%#XjyQZ9BhS9uOdt@KH)NC{RmxdmK(GR5`G$13XaA z?E`Iekr&5QfN5H@3;AZ*FDt-ph1i$c`qg|lVvCw&8@oF+P{U!cxv|K zSFXn9sM(D1=oJ1btb@qDX6LxC*xk++jTh>7WY?alF2S6ACe31A`l z(Pdn3HGYx(BqJ@UE`D=lmM)M?JgEt&3MiS2nC3f6OkA7IG(BpIT)JEeF$PT{2Q~QB zV$#>;lG@aF8ArDed>c+FXxehv}BN-zwz+@x~#zuGvg)SNgG3I$7WW z57l@8rLP$-$x@1Cao9>pwr%Zrn}*>@+uu}QiL_{L`Jf++T7C8hZGybDF>eMAXUs#v zDYn!G4xce%PwT+NNO3<7_s)B1lAgcbrX}+Qc57Ura*3rAw&E!p_e#Y*m?1iTc#xSg zLzr)*=r|ug-j8DOvD@~X2vXmDBvHP{`Mlm@UCzy=%AEGKrl|Jd3>%BQ{Ga(H2zfVa z6kRJb*IHOldxNQCO@fTZ>3BBAtuA_&%A$YO!;nw+G88kQw5XgRmTT@Xofgk^TU|`` zLMlluD}YUbB~C--R2rnHVVsqPX6!jXkppq?@SK?-(TJj(Pxt$pa%j4jiC;Q=VfJlvTb30CO9O0Y3Zez_!TBz zhm*XFBRAxd%OZP3QygrboWeQ1H~bDg_pE8t9m zVRS|_L24DAUl3W5@ovOC@$-%63_TaWw1e=*rP5e`athz1oZ&-tE4otdrq2VwhR~CpsH&8QzSub{<^w9r+T)dFxDgrj1+wEDsmP?`V!8EeBm)L9;)K-(}tbJ~QI7*Po54@oYlJ*6f<^uSD>4Xv^uGHipplOw|*5`(P+)qvLEw}@-?vI^~ggFc|I@)7c}>aKQ{ z$P=B(*=Xd)q@L5OK*2_coe=GpDhW&Y>++YpK$y9pMOvHem+;HzGIrB@M}<72$feqI z56w#j!z3fN0^NFxuV5%Ul%Ejzd9CL|ni%tI!=%4ofctt-t{L>v%W^)l_T2t*+l2V| z#~JJ!#coQ18kV0UQPBXXh$a68hxrtlgr*rU8jT)(XU@-YQ{ryJj+(ElYr02cP|5R9 zx=Z+Kpp+Wb7-Opg>#g#UOpx#E4Y$l~_EqZjqPSqTaP%tLb6Z<`{>l8_u1-puna6x9 zx;{>sct-MTPN6yQM~}6Ys@KMS%I9w8ay!>~0@cAQcNYy2>0(`pE+)%n1=3N3M77Pb zGf_u-`@}v;>#@)l)@cvrW{(!%A8)WqM#+cJv{-Q-e!*lsJ|KXuXHjm_qqt_G0WA=5 zjDMb5mRQynUeH`Jaq^cl%+|h6IvfN$`nVCK*PQ7B>fZ%yq_5q4m0i`NQo-}TgM{H% z4Hrvm>rgyzgp}9r%ZG?Nb4TY%N%wg8`Fk_2cOV;=z;{_l^3x24``BcJ_^hS44H8>T zPk;Xq5K+B9@E(7^X`PnFJ0@jtzS*d0GsI}o!&`DE!Jh@~){vvV$1L@<;dC#)^GmsQ ztwZ&$uWfT`XYXq!?K9PNe?PzCP_M~2-`Af@BUd><7ohy}B`UY3!0Z4o+j9JgB6JSd zY5;384$|(Bu4{p5-rS_mXtP2G<6yhmQWD>5c~U1COfN*TQA(JvyZ|+pjKPLatdp3*0N`HWbRRT-KiPmYd>&bV;V)u9yu^ z5#yDc8PBVg8hE{ps+UNP!??1z~NIyMXh56hui8 z5b1`YK^mlEXoilVyXQZE@9+A)@4ess{_A_ztY@7$_3XXR-uvu0^9-%rx1pb=CS%rJ zIXZM5wY*s-Uv>I?R2TxmWRe_)>)m0Qb;2!sbxdTg4IHXDPMO7CM28t(&?Z9q0V1#% zL!)hvN9_-L1Bmdiq`h_EWQS1pc7n8z@Q#P-h*`8gTlwr*bUwR^1<`{oDSCscposkk zY#YiG^fsP0c-^G}BUcWohYM0QE@dX8i=@CyVDbj{ zxG-?+#L^AwWD@DSrEngD6ad(G?PC6BixdKTun2oD6aQ;Ej^Tyos{Zaq9fq?%V0PG# zUW3l;tceq<+TpRQbp$lnr;d)>@-pOoVnNq*^llfMEF}g>mGgq?pkKUEGBLO@+ib6B zt6#gkZ)BxM?>-~32XK*cz0pSotKs0Xc$&d+^AO=sX0GnuQku|4!LNi)?LjOrh<2&L z7xuglVau6|W-xM$MG5PsDJK0cS4}$5%1F>n~dLk!$;| zHRP-lG)1&_k9o2psJ>=%I{I9mWoKA=zIUDfpe;_VT~sMg-}BQ=UfEat$kA1d#xtQY zfZIbpZ?D1H+h8ufEo3ZS@kMt-v6V5dHTo4J@(n{D2Dys-3dsy28I2Z;n^R>R3~!+t zHm{`L%u8tQN#ORS6W7h-k$X$H{2aWCZ4gCv_I-wxCfXY}`roQ~Hq=)}S_R`CyW;5> z;lbP7y!?Dj3yQuO(7f*>&O`Hv@{EkYpHGQNDco_+D(1bV3yTVsqU=KBF9pl8)>0VM zNa|lD4y$GHJ^`zy_GDL=T8;>&f@hj}v23_r*Y5@)vpg3@c9$G^Xf}2#Vk*(7KBMVa z_d0S@IhB@Sf;aQp{(4y>cw-lxARBpY>J9!cu)4n86n8)x|MMjY1HrrknO)|1AHT%OmJUQ&}08Qlb!W zK=VvKcPEo{PY=wbHT9n4s?|7)_E0gNI z*6{e_a`}^cl41sW`d!$9u7w5Oom7v$B5=NqeWSk_&?9m&>JEKUPO%rpGw$y-1|H9j z98o{vZWTYM5g%K3&zgB9SG`2Wd8rq%f$#K=yDXA2`eIbpR4q}Na%Y$|)PGfB7>O$v^ zn)(ANZRsb;Jy_z~S(Hg#J#M)^rW()X%_eF}mu#^^_9)yf8X}v$d*0VU!p@baa$l%c zS)R084SzRE9-#0_-|Mff=%{k{p?d8>r_M1?^&o`fxiT>C5Ol7UklMhtgyce=rVk~K zxOlyrU(R1qUE=&)L9Pfud<_wA_j3r~LPf@AMq5P1-WWi0@gcuH+juzH#8_;lHzhuS z@Axzg4+Yje$8n&H7qdWxs~@w=a*4nUJ&g`)pt#!Hh(F1iLlK&)ofeuH-5!<%E7gy6 zbGPga5H0;Y#-w(Ht?FSFGo7B+0B<9z@Y^cf@Vd#h}*a;yl@)i>m ze8s}TLOe~XeX0CypIWGL>p2Q^{j_gL3dntz;osq zQ91N7^S3O$-s-vN+Rqitf|JEZ?_b&fNcTY&Z_rG?kjp))lt2(Ka?u;ZV|!|OCRTf{ zyJUZ4+r=Ca-#W7+?>y!e)4#*=K6W9Od>8U{1zQL3{ytWBhOM(2v|LwvGRDMAuTOA! zqofk#KIXbovCm$KQbLaAGk(v#b}wBdlk?GQOQ22m#lTen5zqJ&D04_%W%5>ajEdN5 zl(*i+y4X{(p6m;{;LqUmm=K;!_IyzaD(!yn+86B-EWp=QPViv=SM3WP7nu(t!Y}*XCmBDb zR+(-LVmW$|uB&yb^O;rCfx!o{dRgBa94`0z10Bu6>UMu(q*i`%J}BI2{3(91g6(@n zG5++s3X)*)A$wVWcqc<=?U7L$&1vvsnv%t zZ?>ywt#cR2aEGXmCL>fq;JK$JDL(vxLM7~zYe-Pb)79vQlN!D!5kl(i(mxxqoc-7A zj?-k0Iy|S5cV3N}^)tRPV*b{t+vj--~u?^&kSjP*9NK!g%Ma zggl?azT)i%JlYsN9T%C5X1!*zYWjxzJ{%vVB(-}@;JJ}XX7W>6X@_id|HNqVYaOw( zCA@0)gYVNdEbyy7cI$zJG zUkl@zT}R=Zd`7g<6xSLG_9|zF3R2d`47Tf1Hm)}d2Mh!qBQ^WL?bID3fCk0m$P>HVt zl!@5Pgbv4D+#foXh3zT3IvO?+ZLu3Ii+Uv3hQ%_k-n|{THeHPn8WteL{>t4hepK>w zEa{`If_vs(yLe$J?s57SoYThB**oxHT3GF0r>1%pr-Cc7;ks?UF(>B*ItIp72ru5F zN4t^t8e^H@hx?9}Ge<@=;^wJLV*;E>-kZfpk%(mhx>+7SmVhlr`9_^Q|7HC}%)2Io zL2Y&ldlsJY@U&1X@}%#BF78H;T)(Dv5Q%OPcUQ^oFx|tZkcxEDxXic;4cltyjUeGQ zZBKSyCvRZQ-#&E0%$PT9tZ4#@8hG1Roo4TRgn=Pc-V;|Zp!X9kPpdq5yr-jSCzG$A z`E-}K7l=doP&cosHVWVVU6a6YPUZZ7Gc_&(KiWhP4XJ&7W{Qmh*#ID%BHm|XH~S;m zVET)Qfk)JQUqwfxaHi<`fv&BMr_$7@&1}f=F>)k3JVOsEXkx2kmDU1*D;2TqI1{O* zT`fS_pfgT|k#M1Xjvw`SO(JHKj@_$Ie`KTZQG7HRs#!;gi=JG>^+2wR+23Z_X(;9F zOONz%+Vm(H!;-3nI_T;RVLvsuaYK|ril}qltMXP6k0KHaswC9Wq5|j@56{N<12L@k z{mOgSYdyT`Dm_Y*!{bpI-Jklb855axSH52U%>QY?0BQn_-B3)tdV|S5dTNADigtN0 zIhiE%Q7&7V6z1Bp@|HhZ3?gE6sc!hmDZd8mI7B4##u|;no0A>`;T`2H;h{xX+A*{>=XI(mkNhS5UzM_-!> zUoFM?5XH+6hBE7ssTk@(rXGx9JaYNwaG3cDX-#hCu=eXDO_u`MAfeDRr72apEoVLv z_5DCJa7=jIRk2~5gV*GsP5B%L{z#Arc@bsRw%pVQtnV2!9t}1cR5c;UbsQNfPh~xy zblBdfK9Bum@r1VT;nC1R##Lgepg>-9L#0#h>c{0c1#fo7O;CBSAhxcYexJK}s%c5H zM`iZ5uK2F1+lK77ok+TC{_D?RjHeec(OtVO`3Vp1?8`X}SUGb?=9PBzlO}kih$+A~ zZjVg$(nnKDs)Y(3f}MW4kQXG<6dC3l9l!7FzMhppIVe0aGzdn!{%`4*{1E<*2KX5o z*@cA#dI5p4)i1Jga%Fw6sfEc3pxOFR77uWY%_|AxDoXI0$w=bI>nv9vp?gezb(TL; zNJ9WG{ZNpm{G3N(@giMGr$MN=_Txf%2Q(*@!uhi{}5zRsGAY zR8i-IwlWLF6C}~-IkV8&NZ4sK>=Y(-z2^<){Nf99y;441O%yi?_2q)s@2vWY!xqJ_ z;U7a5*smihwf?n6jSgRo4A`d^*WeZ36d2m0mQEa#!^Mth;8M2Y>Dd934E5gCPfu4i zbMZQHLvjR9>REt*C-yr}EG}D2yJTzvh?7Cx6tO;en1{daWo{M|eS3_1w zHf$Y=QfKzm+8bD#vuJ*YjqkX0_2?2qT9PlT45rpjc{DbWoOb;St`O0@CDUvS@@0Iz zVb?Q}n;t4Amt5G?<4LvV8scy4;xJB@T18#-I@e4(Rwqq%Qq3|uW-PLMzIf;>r@};A z0l+u@SEZg|x7bI+e1C}p2k`c&V0&}@zpGAR*r&b&+B}4FKa1DOAf?2`Mmyh+0R3*e zXt@1_>7Okmc3(uCI+SryQIWqscG`JAV|X+(Z42Mo=Rck;)f%Sc_%{|0eI2oezOQqb zneS&@W z4ldJ!eD{y;HJ~vFi2dkIoU5%86%xRJEs?@**5Mx?*rQWl`)6=lsb0p?y2XF>w+IGI9 zjIx_ET&>*|i2$yb-o?7aVhgrjEh9G_K0GqEqsVL2xp@6O_=%hU zYdcI1@rb@u@2W_fne6MD&5C-?Sx>K;>|ZTbo+IvppN=|sS4umUwy(=Xf#*1q*9C!# zm;1{-!=T0)uIzsza*G$IKMakK;l&dQFzVq~?&RR{-nNB^PN)igq63D_#gV%cbEzb? z;KflpsYu~ov-!-CDANhbsNo^}$n9#sat2wLA{VBYXxkk8&6IuHZ@LrRym@ezy3<40 ze`Y78@`rW|(1Ir;*IYX1rNv*bf*#U@1VBNeKZ*3u{d9R|{jWCtp8=MKKqe#rGS0MyPww(53PY5Z*R5?ukw^m z$=Yqkdj;3~@-&tobe!Dl;4PTy-B%CX2BmOTl2v(6wfkIMJHDPhhj;)>j+|{k1~xum zqFFSI#!5qRrlLj{7cZubl{%Phqd-T!8+KuI1sxSQ9yDlYGER9Svh%>0YK&^Ke$uOp z=|+eB^8;hpg?$aBFUG2@1|X9U-^b{;#d*Q)AtfMrq4Ps0P}XpYmE(Ba8kaZ)JBWsn z$lWB<;1}=v+F7SF-K154%;sx-JWy;sp}!uF;1+WOOV;YYn#$u)YAc!|# zn^A7=0T?%TWTJnT?{nPL-~ev!f0n7?Z(Mt5@)zhm%#c_5#)qEp|4KZpcy zf_w8su3J!=?yw2G#pCXdc?EjQJ3RgY?|<-s!>;)k^#7sE zpPm0K-*)~@fV;A0VBQTi?x6Xz{2yrGl(E4<{rWhJBd8hYr9S*6Xo%o9^l9t!_IdZ7z;f)i^9%iikByqXuxXLu zxOOynJEXUdqLdM*-GSU!2Kb32n9DlcJn*&7M1WcLYZWeR!Q!HPwwa$2jBM{cF))JL zP+IB(VK}yuEg(k#Ncps>MRbd(Q3UYNKhOKb74ubAW>V4T%>F^D-f!al#wA_hwQ0n6 zD2?EPgobBcb#|L*Cie)ps@(F&*H2CH`2N7!=nGT)g2tVChw1ONZ!g*QN}>GWeL;IS zMEJpMp9MWxyFNKMTVnpsd7)!_@Ugh!{4^@$478Vl1n;3D3CWd*?lVq;<+LNI$lx`8 z=!n|GH^?DK+_9nmojBbxAo86E-E!$4&5#5NVZxgs#7lOfF)sADf0MyKW$n-MzvS*O z;k;|O6I6KFZ@fh6M!ZptLT4K(CB;e*pTocXDHngT|KH@|&rWy3^SRlD>V`Cb8_xxL zUoZSNlok`|=_QeSRZFnzWI;F)lH`M+(iU`DtLA`aEqaEqAQd%(&0@)dVj6Z^Rpv+d zE^D;-^!N|Z&pGQJ;!65w*hVjGx}h7j{T>wos zCRgoB;|t}kvn^frnkh_;+qLQ3B?EkP6K~(1>`N8cR<691K)G2Uzn8w>-twffZDq<9 zYMacki)-AjA$5~hrM zLdyIG8vnTf5Ov+q7l=~W{@k%aRF>7L1XOZT6Rnk<(FpOsdEGa1p;Qg=j`q;;;yEFP z=$Et2BCC_{HELsa(R;ELp)PrWSZu=|dOYi&*QjRorZ;PJsNqCcnUA2at_!Y7c2nvvfG=1hke*(L)ts~s=(~@} z1W;qfReq&mlWYYzOEgC^azvo#WQt?bVX}7hMqrwT6O-{7HP_)V@}Z9OmpiKX|1=gCp3<;77XiUUbx z`dfxLtoJQTZ_0YTcKf8Z)F;^^3i3gyr=VNOK=AL$^z#xK5{`yeZHiUtotj0+Zv&jD zz4+hY2L_-I*~6+DQOarxqY+*WTSiFL%Gr+Eg1WYk7*l`(MOFd zmE7~Zk_c^keJ%PF`;({k6!I*VyddS+<&`Z@vCg=V=o_VT!!R{G)tBmSc?-+!5z7WY zPos{f3x4*BlW!b!%jY=>8|9?NhrX|U;-6Q+XwY(j-(`siM!r)`H)FZ@I28j40K9~H z&CBu}u7#h&#%pQ}pjzs_eWtrfDUI%I^BZYr!c?RE(d<3`Ep_ zd`e&WF@9?$U1^Qwd8gE!nnfsWNoIA68BuqLi0~p{XyE0@R`jB_%NT^i^ zYq_NKhW&-az)lmvha&!Zrz#FpXwHlpp6ib?ijeMX&DE0cNhy@-8I)_!twvl~IMJx}^4HSkgGPw}cdXg&xX38AzpF<;-aLPcVT!Fr(6NgY7D zCL>S&P3F5Zc)~|rh!LKUC&0^ z;&Xd=*B}#fq2`^kRL24k8SnJ=PiKT03KYdzchaMVd;w_;Tyw`-T|r#>F2t6$&rFLS zS%}Eo*k}-EB=AaxU9|(WV>pC?oF}xI?HZpy{H43w8-mKK()bDJl0Pu!0YLwjo;V<$ zzPa$0x{S~r@%CjktS{akMh-<-lO5A}n$g?aTAN-}?8W_$UEAGEY$`rncmuDTugm5t zh!Xdjrz1Q|Qcs<3q#BV(MkB#E%SF_7cH+Hl4Q|SXx|QAeWE8N#L*x2n?q;|CV>gEX zF~T2PHqIZLHN2BgnMuga#)2Sm-RLT9{|s)_{b~38S-!Jh|L;vX0@qFW-!UNgN$Pw% zDUyp(&PRCkf829#p!n0G{o9uOKWyp$FmC^8UH{!$)%@R$PWXU74bZ=v{eQFd|6lBA zmd$aRTh$r^E26+n=KBBRF#K;Q{bO#GKUeKH{x_EU-)ZqbxibHu1-w6;6<9W>(-i_G ziJRsdJIx2F4PTKl8X0lfzb5V^)S7;Wf)APlRuF}(D~=3FYD~h95ucbiMb=ht zyjrTnq`Kj;2t;i)3TcadN+RXFUl~sPVaD8z`?fUR*CJ)_}o(9ZnBagNDw0gC>TkMyq@r-xX;Q*^F9@XVjy-ioC;N23kr;OmpL21`6@yT7`@%S zU*GyJes_K>>aA0AcPGBJ$^LBqTc_J*d-z`|+#v2Jc|C^oO779UJ7fFK5&qNgo_=s= z%-=apcP9Pq{C{@3Gr}eAoGG{tc~2oMAW3~6@v-jU@>Ebx^Q6B&`AR@&!0USf69hD! z$YfJN{x%VxEiouB0>Dk!;&6NYcK$yh{}cY-&4JCM-naVb-vZwRS@4b5>^*Y$)!SfB za(F{1E|7VqwX(Z!8+glstNI4lZ4v-)=~F{76X>d-*;aX*qg$^fJ00y*QoXR3)gmV3 z={3>Wb+C>zXINGJa~cgT`?v>h4CrynzbCoVJYAJ;i?Om&n|v7hyk_)ySz=s%vkXqn zsG_BWQP6{^2k2XkyLuc>gq*YNJ@a)7Cv9kZb)E}OU3r}SqB(IDIMp8O;y2uQW4&DW zUX*!Moax#LV7ZuT3;V?NLp{iz9Eu!e5B4X%PIhs8lZ{=89f%_q<|oy&9SuIlzD4!Jm>cXzKBNRvYj|e)}5lSE^-e z2i(nktsDPF)ExJAOF;1J5CzR%Jge3E<#<@za2`W;p~PjPE4u3oA$`6SB}Mq#Ab5)n zaM4E9a$X{=PQCh(WHSwDgjNa^oVY;HEooqN+?JX>@>%=2zYQP11UuDBzO$ht)i&`@ zYGP@1>8a1359ZLwbkH58&A&}UTv>KMkOQYBqXQbI0`t6el8!+Ynkt#~id$*RI(LkZ zP>0N+5JFi1XAv&M z(aR<(dMbR=rW}rs&+$}p@|G#RR@~>GT211-`lj_Qh%}Qsv1bN-ylQi$ifzN zbtU{4Ik5n)Pk4mvr=o$2L^9r7gMFtFW4iB!`dG^_6&oH;^z}1a3$<40@p`-=yHK4K z{OY1Sb7TbJ@jhs-7dmGDJr@XAzoO`dEv><!-XTcosr~sVkG$T_%3bd{7^;HX@iD5e;b?MOSw-h^J_f8H6!9>is6~YYaeY zkcRsT+$l?UM4}MWsn;BGZnbax4(kc-c<^zr5LR5JrMh_4=V>+bg-0(@;fX)ARcBl9 zjsVxjJGQ!$@4q2n!e~#{pOxqfx~6LoKb9`P7pj6pqY--_{QWxg|wrSv&@v^41P(*hz!KcBunT%IbvINj-1|P2%)Kk&# z!~gRLEKGp%>QeU1bU`#4j}BOIy@<>P2t+wFs?Q_bO@%c+`&*_DSDD>rg z>=+@yQWpn9*R>Ce(Y(v^zj#s+nERICrxJaM@(eC=2* z1pq;wM+e8LZ3*4iFjGdh@AK!L{b!Tk`{`zBsz84s1j7atlqQ~=dGhTIKTn{0vaugD zn#`uBO@*>a9OEYRc`L{!nx}8&NVT2BD$m}|@J;pGE03sftv16^5%y?$Yaco6PHfj3 zU!uv*bvq`@p9>Rm3f9$_8hV#*g`rzn+^kXs2~b2?4lvfiMZv}Wa$m?)=U3SSQcP6w z&I}hkSISS37eR)?vy0x*RhRRE2!4Xt0AVIO^~Evp#GthuNGEz0%H_o8aY_LCw7BHG zU!A9;;OXncNy#|YK;f(=hgPNlGrC+lHLbZI!2odHid+o0Jv&AFYWZMmN4CzFkBZtK z0zsG0G4xwNBq{B-YSBR>gRMsNGi~BgC?4luMY3F?jJ3u=Kozj;BTG~*X_8wu;$(UziIxn z(_Qm_ati-&nf_n=n1A_#zq1+t$OrttIFbJ+ckJJO%zv9mfcq~0@MHdyhWQJ!f5Hv# z@Mk{c&+=Vb$>|y=!gGQt~U*zuo-*VVv zmflv!f=4|V%Q^+|bj*qqH)ga1B+;2Smcpj>pjXmM#06t^-#nR0t3~OC9TCB;FI=H} z`==D8vb8{2t)%Odq#J+XJ^;_y707-b6vN+bVCqzP<|ReZD%mxEpB_Urs9iQe0ow4DbkMJvX%Rq_l~tM_4^rDR^M}l#T5^Jk99TE zg0?kps~s(qY=h9uB|U`QuGyJ-J_1yGa#(oX5C#DO11h?ZDaub0`Os%?I9@d;FE9#a zJ~DpCN&iyRHvoQ z>ht~0n{c%R^l8K*HMnxK3)CINqC0xaDzV7@hwuTgAT~gq2 z#X)Pc-u;ep0-NGSgZlIqg##WayG*0X4TB&c*s|Gco{znh?CEa3C?ZYPQJKoXt%&3R zZe9(Z%{AoJ;~*vo%1@vc{xUAJiaNsLa3WTCw-M%3a>FGE2-D9Yxesm3gYxMVlYCqk zLWD3L+q+16I9uaYDGez*AG_3Qi%kJ*4&6DGsi%&CW6EoH<4&uZ2t=>}UFDRhR5_bF zJ3E*^fX3>B(O9mo^{=#S(pw8Gu0{3y-TK|L1U$ug^v0RM|V&AWYp<5Dwr&Z{;y8ucz~<&rs|+m_gB^dd7!qZwMA$BJ6HSR zJJ|49s38jvy0*s-wUJn%4#GS(N8F{|2Xk3Ybxe?(Wkv?P%qb^yGr1@##MWj^X71=Z z8xJ_mlg*4)4B4`6tqOcYA2gdm8tBg&2Jh|X7f#|O*mYtU2@zPL?weGF+6%~>sSxlXmmFdR}KxjXAAFRbv^$jv+~hQ%a+_mL$vD)JNQfp_lQuk zLBZ}nG@j2la+uGZFeYE|m2A6I=ED=xH_u@n86v*?!ZA%s*%+0%t5mRnY6w2O)vET~ z;b)c>Qx2Z|?ll|RU?tO|AjFSG%WK}Yt-WS>62+roN!Ll1;1#Lcu);l}{`j5t4Zh(u z3TtUM@m?2KZMuSAI%VZJcF?>N{^3sGN(FdPs-9fIsX-9_XljVZ-d%F@-d$+t#&Upg z3cKFqOA!#3U_d!!CXN3o_IJ0%{d?=X+v5KF>^}O1t7Qu{evpwft!xuF3PznEOClFS z?!BoMZe+4zwC_mNohXXWWC$L}ksmB^Hcq4ccM1DD8b`9ktW^?(kE+IZT&=;d;FLLe z$6n(PFb+-z8FFlD+%T6v%{cZ>v8AXba(O9w7;0PbTRNi`RbRf^W=ds=y@jBnQ8{w0 zeVq?%65izLzF)gpEQKxVUHP8W97Vh{eT2n_%HZAevBe_FOMsZj`3)op2qV>K;7PP| zUhW`3$GJ~n=-n;?tp6KVeFP<@j0Yh>6lca%aO)o3=heb|KY6>Wz~ z$g(VHlmeLeP`J69)B5%a_d$du6?v=QeE`wN6&K&p02e*zAi^h4EgOdXSea1(s#$)l zn!=W>1v&?hj~@#63uVRRCzg{HTrS+Ckm1q^yq9)vNJgdU<#1YU%W)(Nt~i_hM9yn7 z>mesBF3y1hP$2vPHQ1iNgNjWZ_=o z%3$#b$os1~1!7_Ov|i7zI!{*4ox_@LQ8k0vw&k+$J5vU+P{w+CY%Y{}$>VF$Z0@3T zejY#NFR{easRn^?ryeZOcRLQgV!EuXj#I2@Gc-W8aevLR2%m0N2WP)c-dJfpeYF!OK`A{_D^C#of#y(BU0#rN<0tU1$?3PA>d^)1 z`@(LVi9q)UfJLR6fhP&=Tc$xs+AnI&UtdoDcF1u+geQ>~>|y5@9~A_JFO$xXbNDrU z?3}thbw%(e{DI{|{ypjiyh5Lv_}4SDuNm*wyoo>Xgk#RRyBY0)Uw0e`;UVXE=dqGldj$EkkW6u& zlCo1!t;g=IQ9f31N*7iDDmV7;5#?(nIm^B_ztdVp^!7HEum<4vnCMlp1EV&YSXDJY zzs7Y>??LtW)Pfz|VehZp>e+AOi8K;tv8WeJgrMoU=fFJy>Dv|DMMnf@Op2~%grb23 z_FW(g1fu1^-8K# zzMTa^j07G9RwX+?=ZbzNQyd4_QjtgLDf@)?R*<7{WF%-NH>ww$6cCT7P8ev*^9dbR zi)zkzsunykkcaTpty_Y7a*ADKY79ngKed>6XgvX{k8;(c`HpVdP z%8t{zH!Zq5#g|QHZ{rhXF}6lG=SSusxAesUv88!?bdXe~dhhwaN~mozGq+e*==p}TnaXC0mRsZa=dS6;E_qz>r%7}>!gek58RMwxg&l)-zxHsrvDWXzF zm{?&j{&sy*qGZQw@tY{xrjF)^8V@?W8gfR`!^!RsDn9;XF>w%j#S4Beu(`%dh#5mEykVe4tk)m&--2rut=jOwmxjLmx^Iq!}Ohp$-uyg@AC` z(MLgg58Agf#Wy4Bmue0cp!7!1%CX)Gn)8sPZS{dL)iykjaHalHr$Bqok{aI!{$Dq=^s&< ze?=(%E70(7%j^G~*8N99c;NOF>i^Xt%zuZ5{%I5bV{Vnd1zP^Mpv(V)(!b{Z+rflC z11*1+|Cbd1Zo3eFKoMBgBrI z`{;Kp`)CN14}0Dj_d(jtE0D&WvuGNImiT_Jv= z#kzPd`g;(DjOz3`(Mgr~M4RdOmM{(NH_2V?DJ{r(?Zd_lhn}WR8EN>137}&On>c!+ z<8h1{Z_(bb7~z?cBnn%24LSESP4f@GV4$U)@@+oy!6PD%)QbSzjDhQpp?B*K>BL@D zUP}+OH1UsL?LUy>ppk!`r6xr3ZOTm&$&K*<;cTud7N&S|d9N<2ja`<57JeB+NZomr z-GmWex(i}pBY~+;pyx~&)gb_tlA4-aAPs{f6`%B2%uo*p}PzhPb#$U~Ss){dBvh$+04s0Hhhtw8u-7-_%-Jkch4f=f0gb zfbCS{c2h{I&fW6F=Fczu-or0qP_S)&xlJ2U%JBi-{i|OuIE;;rQ1B*L7A9mO6jVbH z!Gg$<6IIZ5>jMjsj~(MOPqx65Z8{>+KdKjnK47>2qLMr*y=RNv#oNm?)%iZk6)$q{ z7l=|Kzsn?El16l7L!9I8K&IvHbVLmMAd%Uzwup!Hp7_9w#L?JS_GOp^e#2p%_k9_9 zC-a}53&PvzrJvn9Jx@+y;TJ~KmUn*Je@=-<)&In3Tkl!Z>h2Zu=`Uz3_9i_(jy^2l z#0Hf^oWs=iwHHU=>y?jW_mvdqHB)jiqFYa10Y;j*w1`v%qb{=m*} zpizOJ;bvlF+g7snMo1M26ufMlb4EVys^T2eau9SncVDtx{+;*jWr{Cb`(0AF&)&+3 z+hR|S85mM+ij`fbFPb?Y|D0op@KK z`>V2!2l}SyTRva3J@wgHJgaMIl_6Wb+UMs;S}nj><*vFW)UCR3020NAu;PeBiBSg2 z_kqRGlGWtjbueWNO~a~WWR$LnrKL&CD$D@0>0Y9)#+{+`LytcJ2Xx!_W^xo{9;?~y z$wWMUtU+q|g|`NntMGVfCGgW-tnUTCC>zKc`o1@STuaf0M37H_OYPJMWD<`CYF+KEb4*4EXx}K+W3N} zV`Fr`zMcSszRkV@&%cJ0!p4UB&V)aAiIpPGGru{BL ztlvHU8yr` z2I+4pvZ@|vTwm>)*9Hoo@P1hvFt<#2`5gdE&8x7#o;RgGIwAyg3?wK)2Sy89xMVlb z)G8tk?5lGMc8r~mRXttD3($a{4MhF+Hp=z)(L$UtVItC;pa?Zo`GkN7OT%&#%@~c^ zuZO}i@<`R6FDR;WapWGFP_{iQ6m??#o}+?~qAL=_Trc$~FNbbhP@4s%WzVZ8QBLfm zbx~gKhFw|15HTmdDu3%vvOG)5ux4(s4%@LIAA69yUXn3hkSS*3+xDP^>N&nvpEi$k z4Xiz7m(#7Q900C)$XKVEZahA~HsTG*;>1f&b6s1JXyYvOvO%E&nMTKT*lx;`hAwg0 z^(`@ZJEd`-h;5FsI~vB^N72T%T_SP-PdB}*4p#NXMWSm_F-85dN@TC!iN}oUBjQMJ zK>1?F$@pNL1}{pat-}p_nc)}2ko?)^kuatQ7B*E&ewmBiDnsFE7pUG1G=D<&5g0Wx z;E8!8t72I7_)+MOSjzQxA1i9!`XGb*#85wq&X)3VQ}?|^UZp{A9?d1776YqPCjV@e zkjI_dNy|N}T5IEZ9KXK??)${Nm&`G?Ut6KlGx^a-tE+KTDU$A^qGWtwbg-k8vG}9R zo=;Mta0qEvEiuiWyGkDO2vvgjxd3afLik{eyHs?RNnj5{wmu5rFSt%V(1O#3?h zR0!j}VIQ1l&C3hAJ`ef(Nu;P$Jxha{o24ycjVa5AMKhj>Jm(6{U8Kl(F=0BylkYvz zy#7tIpB;2LB-BAWvDgMdP3#*{5}SWSbq(LgDX{ zAJ$`sEosz2NU;p%bM^yz7OV@xyEUVYcIU%+#}a?@y(GPTW#%gSsGCn)8Wc#JnA{R` zjX9cP67n`?v8KU}=xGv}3Zjpj)eeHUPosk)SlvF6~F>)yx-S;R(MRgFNedXvQj-Sr=D{2D`b?qrk&XxSg9=3>M<6;yt?mNhJchD#w zCQH4}AhT-P(xmy)q>-LmErcNmyKx{nzrJWe&~ zL9-!D-wO8$W&WaiZ^f$wVjO0CE3vStEqeNf3!;0z)_v)vN@ zJNPR<;8G6(Er(XwtCgjr7nYAl_j@?3QP|R16BC$zEOBB0m3p*@;pKhCj4LebCJ}5N z&8Hq~6SpM#WM{W{5ri^**?KhvV{&LmCc5F0`{|GkHdF&DQ!+* zYGQ%e`X@Pdb;5ojOMc8a48g;Wk^9IA)+~wxmV5&u>GLm!uP8*J44~wG{c~~iOr$xi zinfW9^9RFKudx3jIX==65vRjd{`|p-7FVs$eQ1Sf*07h$JCYf?30gtyJQiEDI08T^ z`|JI0(wV6Nbnk)zz~%4)ETqm=6{o6mnOBB1Vbaey24D*MBl8On3L&fWi1#@#URALA zLDXU?Ie$K_uU1BNH~Pf!{={>DFRwGJoRc2J7iW#Mn3WDO4#0S_qb`km3(cbd2s%}k zus>^k+I_CM$0cjTIKJ=wx0@Cu%YVM;liep|5Czp<)8MBM0t`P{e{{z7X%wj4X$ayB zIPVUpb#FG)f7(p2?*1OGn8g!_0J^07gYv}RA&(wA;Ijnp=xVv3?{%Ui1b9{8hC$wF zI^hG7n`IniZw3B2PBVe%eic$;-qx8kEB0PLFy@B)Wy_>44qI#+p~A9vt}x8V%) zJ=RBW&+CO$@w~Yr=G1zf`URgiW{?&a@C{X|*&>cxELARD<&>?IIWhnWf0s$aLvBnT zvKcsVx1e=`=|S?JPn5V&(weidL#X9jV-BgG5TT|;S44}&HUzAbN>gchXV|GG*FUl6 zM$tZ9oqvW=czs!?z(ul5&bNMrOr=}YuKsyQR88L;_l;?Qg3Ms~|5w>{$HTQW>_o2# zf+ZV7?~CZYL;P9~V%;tu z3Voua@#o+KC8J#WUfDZ4%izy?ygy2`Wk1x}Re|8kGN$i}HuFr_J4yerU z68ixyKfG}tGLb1!!7H4`raC4i1a0g<*s%@r2g+;4h6x%MIXD}wO?Y^X32bw|tHeER zmji&eYv}dwkb|*=GtUQ-)sP3`XKu&#n^>dLsVIiaUnO#|7DIxF__c}~yrhHssOHq5 zZ3^B`9sB~O*{ybG!_(rEcukZCrG8^tKTbA3a5rX`m60f{8+S&rRrqhXr}dp;PbPJm zaw)JNn0i~7$-oS?HX7=Bm45K)xk8o6Y^sNb^%ORy#1vtuPmiu*>FU=IR*y&=u_HS0 z{ZCfgvJF9 zk+jjv!;zAXqU;J?J&-lgE22d+ZE>@aBYOdguG2iH4_?V=Z=}C*$E`;qYbM~2rFr)Mkq?T zgpk&-Z0@$UcJv8fRGAN=&wdNB1g5~Wh}*izr8;)&_S0m#dk8HNnwj;I{V&F2qS(gG+n$x?0e^fILYt#LP9@& zH|eG*3(}{?*Rdt%X|-oGB0hW-csO_V=9x;b9M%pe9b$5jQy27Yx@mw77guzjaUQc@ z8TvgXk40K>(ObIv1!Ug?VF)b~Z#f-Eaxu&GghgbH;ALnV|ril-S_2tiG z(O2_FCdpuSQ_ff)-(hn+c{=qLSWMYPmE!ZDZwJqbsXhCJd8ejZJ=9;-dJi!LGmGsK zs;tdDp&a~iRRsV&b3K~i7J`0)O>a@|=rjt0LMsxuPd4sib!RvQgSrhj`m7gHo)k>m zVW)(6H`A|1+Go9czd;8vc7L`_`D}eHis6b=#FjTZ$7&V#(6U;D%#eJK5j=~d<=iLt z1>0~?_6tHz7U7I!qq|PhY;IMkkz4cpn7ub|H06{YB@1q!r%FO+PEUN6a6iS0PX6&6 z&Rr9q_pDj=i^|n`2K?}*a4ib?{E==nB_1qIG6&d?`{ZO{tRd%B?JCr*Qb>KjiOu@V z?^;ax(yiO6W}XA}`K|R-I_zYqg$2TM|z~|p}%YPR}{7U})qJQxJ z*!I?Esv<;)P@CpMrnq@x_te9Hxv9pvG|_O}yj%r5wsg{{;K&4e0*`*Zup0`RTY#x_ zat5}g+juzR{Zhb75I5x6pMYrcRWZ1;PLEP-j8-{8NGn<1B*gR?q-}3ZD z?d+hT%L~~R9$0X6yxyM;Lh)GWW>X@IYMG=cIYNr^^y9__vF%I}@{+c-=H=9w&$&2@ zKc{pixdKhiaTy_q?0inMj6v&j&X-NPzGWBE~BB4OS zr{=GJWpMYy9o+(M*?OZmV6pEPx%7YH`~f$cY|iG}+WAB|TpGNAfCVmtKN8NPz9xxh z#-QJ9F6LH&6l-^lP8Sn2LwSv7#PqRBtejgQ|AuXtb zvghVjEO=pH>iSN-8&aZ7*41FIFZg!Qsoi&NeUxsmx3KCdCvi(t$9^c%b}EW~yy1BO zvJiF01{rB7ZgHpLy|pY3I6eT(0QRZ4#ei$cc&mh;MMvqHi<%a^V^#4zrub(t)`-QJ z+%fC)(>D56rGbjvNNVgR!1YEEyO>5-b&HOceOM0iouf!8VSBI4#vRs|6|*8B7f}GU zb^X`TK^8~Sv^fzcE>8HntaA|3HkZG=&D;6dk&EgD6`i<1t{UN*XPc2>KK;j!x75N? zE2Jl1I+^eewzQU-77sRZ?&pZBuJ}^_Ts+I&n+#Ir4Jim~;$R+?b|th%e1F6xIT6T% zr7e7I#?kVLpG#pC09pfqu#~X7`bEQq#S!O_b$g_{O9A&>@*dr+X2m-44TdxE?M0TR zcjaf}I;~#Otc_7X{K#wHC5*9J9s>F~Gg~E+VWTRoP^xugqB$~?p z@Z*Xc-{~)|gSF=7Ox8cAqmKlQIDc4Ey|)C3(i6DL?vctSzcZx7mr`pC@p3jvm{+02 zXshcnrcTZX=x`lhDlE{8IPVx9m#xf^ZZPCICjN>}5f68_R5P;Hv)a5D3YjB7x_efJ?h5ZpjY=r`3A)=B*Fd2-;r%U=4q_udE)A4Y zCj~Q{S>vnB*e@VI1SCS1iYU5CpPf)|g7B*;w?mJpTR_?D!Rj;eQbb88vPCV?r$=CZ zax&hcgin-0{FJW)85Bd}qIag}5v~A+ZVrak#dH%rsz?z5{xF@S`DcYm=?>>sKNq&a zaa7nTs3_Bu?B({|!KQK%9N_6)4`QC9M6m=5<3?kuwT*~F_!ATl8$ZGCJj$`&7|T&fV53nzS}llJf^Zm#-3@Q+&qRo`guq= zkE_~nUCm5d2FZSVX@B}tHN#FZ6Vn$9ELxwEKRS|ckZO6{aag79R!s}cH+f#MfJ{E0dZc2C5CMo5{bnE<3TSh)#TF=+c36OTFM}b4}+lg^uq&uzXtYJz3_Uz=ez_!S}-TE+6~F{w0c|)CzHP8d@B1o4=~y-;k7eLy zT+hWV#-xt9r}T7~KW|WV&JRSB$fg{Xfan_PDy>sWd~n-36*D4bFvHeSOvMG?dI@NecjSa9TvuY>d?;V@nsUN*c!XAa2;-hS-neH_&$(* zx(SLWVQr1eI*>kL(B=wNGv3GJ?XNQ%@|dN484A*xZz!3U z7nYUrN~M}aiWXa8%Fv8LRHSD0yR1I?mnolkfXojuh1viv`{PZye@ruG=xJtU&p#WF}ZzZWP z13GX2W{91_#cV@OkCn`I|0@M}`<5(sCT#;R0ql88E3gKYkaoh^ujQ<`{gQgd`=DLNEdASzWTIv>G4d(T+!89S3`&1XRG zp$&zw30rEYMH@nj-hLPgQl(k>)E$SGQw9UAnGp=noFpG1nJYi$iXIh)#CH$?b&z>d z=7P?Gar3WI(^1-G(g%K6CHjQ3KE{&x;+b2Ag1@jjya*#m>VfPsl6mLU{ETV`N5>G5 z=hgCx65O>(G4N0~s7tyQ9x=m>Nai6d-I46x1rFZd+m`D4s0P87V`An;xI8?S*sg5u z^^^qM$c#e~I2;CUfPd&62V zj`o8@F*v6eGB14B_j*le56W8!IlL?U6hsXs2QPaLHxx)&B9lS^DwVIb6tc=AtSUrE zMAOt3@Gr(%$N87{Eh$31S7PS;<2PuKmiu2H?y+bab;#5*tacM#XBtg@DR;e6^P3Qt zsrJphiW{n*-@Uhds1rfhmgH#pmTq9?U8LK4UfDbl*u&H0QF~Y;MkhOve+#RDvS7_7FwzaT8(U z18Fe28y@&ZmW@wyGmip%6Vsp|md#szDIFWMn|~;30z671zSu^S_Fq98aGach(Zz~8 zn$xW8Di_U!A^lm)LY+-J2eG7!dxeoevQ zhIGym#PUwqgI)38vo`J!2^T2!TBEdAlk|eVSVH}5T@`%4d zySp37;RK)C>`W2PlGng;ucXG41{OZgKrWjWj>7?gdAk#yzuuejHdAy9Pvn9W3bln5xX(_-H5nv;^S#X6Bg8>KDO{;hd#< zEyN4&AyY>r2rO2EqO`m8PF1Asa^;T;W?xKNT%rQuORE^8tioF<9L`Cx<$ku!>TX<- zYx{wUmB-8U&dh4T1*{}OEqMNdAzwU+wn~_2b)n_Qvx{b2LNwyf$loBCG){?I4YKjn z8tHtN$A}h^0kaFEaj;$aXrG+0Kvh~3k!^^B7tWkDBUK5$l^={)qirz~_P*ByMJ8ag zcUrfp$?n)3?HkT}HJAukI}mtKf2v9LM8Pm#w+lO$jFKS>&#gt|!3PhpO(m^L()be; zfDFJ7!EYl5ka7nYe;#Cj4A8#*%HKA@D&F7>BLd4cfAE8Q9V9UfloCsl1v)Q%cE?O! zyPedTU2YzDKD$V;{(0ur&u7!i27z7UIgj1$Z#AcZ-PUj$I>GT`A1|z;OQqcN5W7`_ zuK)AnCvS3Ur_Cwe4D`C9$S@W{4~lh`E#@N+Ge>04f^a~oJf|jGROVr$CFg;vcvS2a z+r>FeVOdSGmxG4%r83H8ofh5eCg>XJR&QKWtXKwU&_FY)NmKI^_H*?#?5%7KM=?fU zlOrfuC|pfVTbw6$d@+Qj=o=?8o4-}#ft}&a?w`3J`1*C8k)I*J{4@hvod*cf3b7)X zA9BqYwVm7iZI2zI7fBmw1u7xuPnIy-FEi1=OnGIr`RS|((;z7@>ax8{L>QxXGqX>Z z`&*|nx7tKSzZWGvj)zTgxKV5!#JW!!M_ARb1yCy1Zv0rnwNL?ci6Xf;$G zi$_;cAlB=T4yb4s;M|S;G;J?uJf1CPPMOGg7VnR?_a;jp#rjcK=X;Br(Bp zzDM;b@ei2dcns2%LhY$*b-C+qTR5dZPt2*hA>@|p(l(OSRc6%`clSeKX2AnH;JQX0 zrChZOTThL2;7YTr{f@F%-a=CtoJ?E4#bM~}O8ytowvAfxXnCAGxPDfbQtdM(F-uwC zEOF#z`wHRBg1#RMTArIW28PTtl$K43P_|5dCHgRkJg-eXV*4JGcWdrB=ER+> zs5vnCa+0R;+CFNicP3b+g|Ai40FE=1fm&*W~ieBqSCwzo-hvJ z(!Bv~J8|jgfDR1c4!{fU9~HRSB>U}a2b+`W3qIoSu*84BE>LKIw#Q)cw;(xy>zmq1%YvDISEvW*sZ{`uUc9Op= zO=W1Yc_~L(=*Ao35ioLqZ^lc{N+T_D`#1GVb9Z*tUOMd3izvEiTz`Hp9d_vsdU;}* z`SXOxA=ce=!wW&#by0H*E`zF)!bc^Nl!O;@5R2Qx@3Q-o;@w`d@%?;$e5Zw95}}1bzEyCM OUs*w2zEsX4=>GsZc4OcG From a1d007ce975329ac9ab7e9bb0d008bf20072fabd Mon Sep 17 00:00:00 2001 From: Julien Bisconti Date: Tue, 1 Dec 2015 19:52:17 +0100 Subject: [PATCH 02/45] avoid double slashes in dest path --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a7096f3..3781f1c 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "node": ">=0.10.0" }, "scripts": { - "postinstall": "dest=/usr/local/share/zsh/site-functions/; mkdir -p $dest && ln -sf \"$PWD/pure.zsh\" $dest/prompt_pure_setup && ln -sf \"$PWD/async.zsh\" $dest/async || echo 'Could not automagically symlink the prompt. Check out the readme on how to do it manually: https://github.com/sindresorhus/pure#manually'" + "postinstall": "dest=/usr/local/share/zsh/site-functions; mkdir -p $dest && ln -sf \"$PWD/pure.zsh\" $dest/prompt_pure_setup && ln -sf \"$PWD/async.zsh\" $dest/async || echo 'Could not automagically symlink the prompt. Check out the readme on how to do it manually: https://github.com/sindresorhus/pure#manually'" }, "files": [ "pure.zsh", From 2fcf5251b4873c36205e5e032d592ec24737e78d Mon Sep 17 00:00:00 2001 From: Jonathan Dahan Date: Wed, 2 Dec 2015 16:21:05 -0500 Subject: [PATCH 03/45] Use builtin cd, in case cd::cd has been redefined --- pure.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pure.zsh b/pure.zsh index ba9b312..a061851 100644 --- a/pure.zsh +++ b/pure.zsh @@ -223,7 +223,7 @@ prompt_pure_async_git_dirty() { local untracked_dirty=$1; shift # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - cd -q "$*" + builtin cd -q "$*" if [[ "$untracked_dirty" == "0" ]]; then command git diff --no-ext-diff --quiet --exit-code @@ -236,7 +236,7 @@ prompt_pure_async_git_dirty() { prompt_pure_async_git_fetch() { # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - cd -q "$*" + builtin cd -q "$*" # set GIT_TERMINAL_PROMPT=0 to disable auth prompting for git fetch (git 2.3+) GIT_TERMINAL_PROMPT=0 command git -c gc.auto=0 fetch From 3ff7d01ee584dbc02f5b07e5d12b6fa520cd52f5 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Wed, 13 Jan 2016 11:30:42 -0200 Subject: [PATCH 04/45] Added antibody instructions [antibody](https://github.com/getantibody/antibody) does basically the same thing as antigen, but it is faster. Commands are similar, except for the `theme` command that doesn't even exist in antibody. --- readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/readme.md b/readme.md index 421aae3..99c7485 100644 --- a/readme.md +++ b/readme.md @@ -152,6 +152,15 @@ antigen bundle mafredri/zsh-async antigen bundle sindresorhus/pure ``` +### [antibody](https://github.com/getantibody/antibody) + +Update your `.zshrc` file with the following two lines (order matters): + +``` +antibody bundle mafredri/zsh-async +antibody bundle sindresorhus/pure +``` + ## FAQ ### My preprompt is missing when I clear the screen with Ctrl+L From ba07d37c9bcca9a5f639bf842d796ed5abbd178d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89douard=20Lopez?= Date: Tue, 19 Jan 2016 11:24:44 +0100 Subject: [PATCH 05/45] add Shell Ports section --- readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/readme.md b/readme.md index 99c7485..99292b3 100644 --- a/readme.md +++ b/readme.md @@ -161,6 +161,17 @@ antibody bundle mafredri/zsh-async antibody bundle sindresorhus/pure ``` +## Shell Ports + +* **Bash** + * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app` ; +* **Fish** + * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. + * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo). +* **Zsh** + * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators + + ## FAQ ### My preprompt is missing when I clear the screen with Ctrl+L From e6a532e36706f790991a9a925c332884672c7d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89douard=20Lopez?= Date: Tue, 19 Jan 2016 13:55:35 +0100 Subject: [PATCH 06/45] fix typo thank to @mafredri --- readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 99292b3..9bbcf4b 100644 --- a/readme.md +++ b/readme.md @@ -161,15 +161,15 @@ antibody bundle mafredri/zsh-async antibody bundle sindresorhus/pure ``` -## Shell Ports +## Ports * **Bash** - * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app` ; + * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. * **Fish** * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. - * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo). + * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). * **Zsh** - * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators + * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators. ## FAQ From ec525b2563b185cdb83b9747c1445ed915962806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89douard=20Lopez?= Date: Wed, 20 Jan 2016 14:40:34 +0100 Subject: [PATCH 07/45] move Ports below FAQ --- readme.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/readme.md b/readme.md index 9bbcf4b..a248491 100644 --- a/readme.md +++ b/readme.md @@ -161,17 +161,6 @@ antibody bundle mafredri/zsh-async antibody bundle sindresorhus/pure ``` -## Ports - -* **Bash** - * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. -* **Fish** - * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. - * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). -* **Zsh** - * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators. - - ## FAQ ### My preprompt is missing when I clear the screen with Ctrl+L @@ -200,6 +189,16 @@ sudo emerge -1 zsh On a default setup, running the command `kldload pty` should do the trick. If you have a custom kernel, you might need to add `device pty` to the configuration file ([example](https://github.com/nbari/freebsd/blob/58646a9c3c4aaabf6f6467ff505f27f09e29dc75/kernels/xen.kernel#L188)). +## Ports + +* **Bash** + * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. +* **Fish** + * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. + * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). +* **Zsh** + * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators. + ## Team [![Sindre Sorhus](https://avatars.githubusercontent.com/u/170270?v=3&s=100)](http://sindresorhus.com) | [![Mathias Fredriksson](https://avatars.githubusercontent.com/u/147409?v=3&s=100)](https://github.com/mafredri) From 9f197c864cda79d2a0146c3345ff008fa9de4f6d Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Fri, 29 Jan 2016 21:29:32 +0100 Subject: [PATCH 08/45] Close #192 PR: Added `console` language where needed. --- readme.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/readme.md b/readme.md index a248491..427dc61 100644 --- a/readme.md +++ b/readme.md @@ -28,7 +28,7 @@ Can be installed with `npm` or manually. Requires git 2.0.0+ and ZSH 5.0.0+. ### npm -``` +```console $ npm install --global pure-prompt ``` @@ -47,7 +47,7 @@ That's it. Skip to [Getting started](#getting-started). #### Example -``` +```console $ ln -s "$PWD/pure.zsh" /usr/local/share/zsh/site-functions/prompt_pure_setup $ ln -s "$PWD/async.zsh" /usr/local/share/zsh/site-functions/async ``` @@ -62,7 +62,7 @@ fpath=( "$HOME/.zfunctions" $fpath ) Then install the theme there: -```sh +```console $ ln -s "$PWD/pure.zsh" "$HOME/.zfunctions/prompt_pure_setup" $ ln -s "$PWD/async.zsh" "$HOME/.zfunctions/async" ``` @@ -147,18 +147,18 @@ Set `zstyle ':prezto:module:prompt' theme 'pure'` in `~/.zpreztorc`. Update your `.zshrc` file with the following two lines (order matters). Do not use the `antigen theme` function. -``` -antigen bundle mafredri/zsh-async -antigen bundle sindresorhus/pure +```console +$ antigen bundle mafredri/zsh-async +$ antigen bundle sindresorhus/pure ``` ### [antibody](https://github.com/getantibody/antibody) Update your `.zshrc` file with the following two lines (order matters): -``` -antibody bundle mafredri/zsh-async -antibody bundle sindresorhus/pure +```console +$ antibody bundle mafredri/zsh-async +$ antibody bundle sindresorhus/pure ``` ## FAQ @@ -180,9 +180,9 @@ Using `git pull` when you get the username prompt should help you to break the l #### Gentoo -``` -sudo sh -c "echo 'SANDBOX_WRITE=\"/dev/ptmx\"' > /etc/sandbox.d/10zsh" -sudo emerge -1 zsh +```console +$ sudo sh -c "echo 'SANDBOX_WRITE=\"/dev/ptmx\"' > /etc/sandbox.d/10zsh" +$ sudo emerge -1 zsh ``` #### FreeBSD 10.1 From 9e4955cf91830dbb13fb405652af6d3b6ea07186 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 29 Jan 2016 23:02:14 +0100 Subject: [PATCH 09/45] Clarify Prezto usage Closes #182 --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 427dc61..023b292 100644 --- a/readme.md +++ b/readme.md @@ -141,6 +141,8 @@ To have commands colorized as seen in the screenshot install [zsh-syntax-highlig ### [prezto](https://github.com/sorin-ionescu/prezto) +Pure is bundled with Prezto. No need to install it. + Set `zstyle ':prezto:module:prompt' theme 'pure'` in `~/.zpreztorc`. ### [antigen](https://github.com/zsh-users/antigen) From 79b1514fd46560ec8393713c0bff769ba1448e2d Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 15 Feb 2016 18:47:53 +0200 Subject: [PATCH 10/45] Disable setting title in emacs terminal (not supported) This fixes #188 and takes place of #190, at least for now. --- pure.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pure.zsh b/pure.zsh index a061851..268bbff 100644 --- a/pure.zsh +++ b/pure.zsh @@ -85,6 +85,9 @@ prompt_pure_check_git_arrows() { } prompt_pure_set_title() { + # emacs terminal does not support settings the title + (( ${+EMACS} )) && return + # tell the terminal we are setting the title print -n '\e]0;' # show hostname if connected through ssh From a0a3e88480b70e3057b34f818df209ab9dc8ac84 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 15 Feb 2016 18:48:09 +0200 Subject: [PATCH 11/45] Use zle reset-prompt to restore cursor instead of relying on ansi codes This fixes #191 and can be considered a more robust method of restoring cursor position. --- pure.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pure.zsh b/pure.zsh index 268bbff..d1de220 100644 --- a/pure.zsh +++ b/pure.zsh @@ -177,9 +177,6 @@ prompt_pure_preprompt_render() { elif (( last_lines < lines )); then # move cursor using newlines because ansi cursor movement can't push the cursor beyond the last line printf $'\n'%.0s {1..$(( lines - last_lines ))} - - # redraw the prompt since it has been moved by print - zle && zle .reset-prompt fi # disable clearing of line if last char of preprompt is last column of terminal @@ -187,7 +184,10 @@ prompt_pure_preprompt_render() { (( COLUMNS * lines == preprompt_length )) && clr= # modify previous preprompt - print -Pn "\e7${clr_prev_preprompt}\e[${lines}A\e[1G${preprompt}${clr}\e8" + print -Pn "${clr_prev_preprompt}\e[${lines}A\e[${COLUMNS}D${preprompt}${clr}\n" + + # redraw prompt (also resets cursor position) + zle && zle .reset-prompt fi # store previous preprompt for comparison From 74dbfba33ec31c50b3b41071d13a01e7c0de6517 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 4 Mar 2016 18:23:58 +0700 Subject: [PATCH 12/45] readme - mention that the git check is done asynchronously #187 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 023b292..318b12c 100644 --- a/readme.md +++ b/readme.md @@ -14,7 +14,7 @@ Most prompts are cluttered, ugly and slow. I wanted something visually pleasing - Comes with the perfect prompt character. Author went through the whole Unicode range to find it. - Shows `git` branch and whether it's dirty (with a `*`). -- Indicates when you have unpushed/unpulled `git` commits with up/down arrows. +- Indicates when you have unpushed/unpulled `git` commits with up/down arrows. *(Check is done asynchronously!)* - Prompt character turns red if the last command didn't exit with `0`. - Command execution time will be displayed if it exceeds the set threshold. - Username and host only displayed when in an SSH session. From 67f4c213d295ee50b61b68cbd584dd19efcee273 Mon Sep 17 00:00:00 2001 From: Felipe Vargas Date: Thu, 17 Mar 2016 05:43:37 -0400 Subject: [PATCH 13/45] Update and simplify oh-my-zsh integration instructions --- readme.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 318b12c..2e5c4f5 100644 --- a/readme.md +++ b/readme.md @@ -134,10 +134,8 @@ To have commands colorized as seen in the screenshot install [zsh-syntax-highlig ### [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) -1. Remove competing theme included in oh-my-zsh `~/.oh-my-zsh/themes/pure.zsh-theme` -2. Symlink (or copy) `pure.zsh` to `~/.oh-my-zsh/custom/pure.zsh-theme` -3. Symlink (or copy) `async.zsh` to `~/.oh-my-zsh/custom/async.zsh` -4. Add `ZSH_THEME="pure"` to your `.zshrc` file. +1. Symlink (or copy) `pure.zsh` to `~/.oh-my-zsh/custom/themes/pure.zsh-theme`. +2. Set `ZSH_THEME="pure"` in your `.zshrc` file. ### [prezto](https://github.com/sorin-ionescu/prezto) From 8c92e39062638292ce062a89ec39d3e7df2a9eb3 Mon Sep 17 00:00:00 2001 From: Felipe Vargas Date: Sat, 26 Mar 2016 03:22:29 -0400 Subject: [PATCH 14/45] Add note about screenshot color space --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 2e5c4f5..a4d702a 100644 --- a/readme.md +++ b/readme.md @@ -125,10 +125,11 @@ prompt pure ## Tips -[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](http://www.google.com/webfonts/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above. Just make sure you have anti-aliasing enabled in your Terminal. +[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme)1 theme with the [Droid Sans Mono](http://www.google.com/webfonts/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above. Just make sure you have anti-aliasing enabled in your Terminal. To have commands colorized as seen in the screenshot install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). +1 The screenshot shows the theme colors interpreted in the sRGB color space rather than the Generic RGB color space in which the theme is specified. Thus, the colors differ slightly from the theme's regular appearance. ## Integration From 45aeffd2d16415dc809281d9618ebc4fc332c5ef Mon Sep 17 00:00:00 2001 From: Felipe Vargas Date: Sat, 26 Mar 2016 04:33:08 -0400 Subject: [PATCH 15/45] Move footnote number --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index a4d702a..6d2998a 100644 --- a/readme.md +++ b/readme.md @@ -125,7 +125,7 @@ prompt pure ## Tips -[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme)1 theme with the [Droid Sans Mono](http://www.google.com/webfonts/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above. Just make sure you have anti-aliasing enabled in your Terminal. +[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](http://www.google.com/webfonts/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above.1 Just make sure you have anti-aliasing enabled in your Terminal. To have commands colorized as seen in the screenshot install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). From 7d96270704e0dfa1162e33398176bb6b792d615c Mon Sep 17 00:00:00 2001 From: Sarbbottam Bandyopadhyay Date: Thu, 14 Apr 2016 00:26:40 -0700 Subject: [PATCH 16/45] Add async.zsh to the download step in the readme --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 6d2998a..3a3e5cc 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@ Most prompts are cluttered, ugly and slow. I wanted something visually pleasing ### Why? -- Comes with the perfect prompt character. +- Comes with the perfect prompt character. Author went through the whole Unicode range to find it. - Shows `git` branch and whether it's dirty (with a `*`). - Indicates when you have unpushed/unpulled `git` commits with up/down arrows. *(Check is done asynchronously!)* @@ -39,7 +39,7 @@ That's it. Skip to [Getting started](#getting-started). 1. Either… - Clone this repo - add it as a submodule, or - - just download `pure.zsh` + - just download `pure.zsh` and `async.zsh` 2. Symlink `pure.zsh` to somewhere in [`$fpath`](http://www.refining-linux.org/archives/46/ZSH-Gem-12-Autoloading-functions/) with the name `prompt_pure_setup`. From 95ee3e7618c6e2162a1e3cdac2a88a20ac3beb27 Mon Sep 17 00:00:00 2001 From: Daniel Tschinder Date: Wed, 13 Jul 2016 10:25:38 +0200 Subject: [PATCH 17/45] Correct link to Droid Sans Mono Font (#216) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 3a3e5cc..d377082 100644 --- a/readme.md +++ b/readme.md @@ -125,7 +125,7 @@ prompt pure ## Tips -[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](http://www.google.com/webfonts/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above.1 Just make sure you have anti-aliasing enabled in your Terminal. +[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](https://fonts.google.com/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above.1 Just make sure you have anti-aliasing enabled in your Terminal. To have commands colorized as seen in the screenshot install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). From 306aa90e541865af03b06e81b2a8474e1ed27f36 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 25 Jul 2016 12:21:05 +0200 Subject: [PATCH 18/45] update screenshot --- readme.md | 10 ++++++---- screenshot.png | Bin 68513 -> 72121 bytes 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index d377082..e9b05bd 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ > Pretty, minimal and fast ZSH prompt - + ## Overview @@ -125,11 +125,13 @@ prompt pure ## Tips -[Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](https://fonts.google.com/specimen/Droid+Sans+Mono) font (15pt) is a beautiful combination, as seen in the screenshot above.1 Just make sure you have anti-aliasing enabled in your Terminal. +In the screenshot you see Pure running in [HyperTerm](https://hyperterm.org) with the [hyperterm-snazzy](https://github.com/sindresorhus/hyperterm-snazzy) theme and Menlo font. -To have commands colorized as seen in the screenshot install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). +The [Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](https://fonts.google.com/specimen/Droid+Sans+Mono) font (15pt) is also a [nice combination](https://github.com/sindresorhus/pure/blob/95ee3e7618c6e2162a1e3cdac2a88a20ac3beb27/screenshot.png).
+*Just make sure you have anti-aliasing enabled in your terminal.* + +To have commands colorized as seen in the screenshot, install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting). -1 The screenshot shows the theme colors interpreted in the sRGB color space rather than the Generic RGB color space in which the theme is specified. Thus, the colors differ slightly from the theme's regular appearance. ## Integration diff --git a/screenshot.png b/screenshot.png index 8f338687d1674597e0bbd11838416abc36c420e7..1a2767874f23197b7d24614cab8c3b37d55cb76a 100644 GIT binary patch literal 72121 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 be=0opXdjX-b`?BQPkzttK;J5FTGsyo7yVsp literal 68513 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�}n%TRc=z^DZ@Q3S^d&RC~qkG<9udQn+`EY!9qt=4bKtT{DfrlO+hZS zUHgP2s2^uS9Oq7#ye+fwmQD~3jo2-uR892YJt+L&H( z$uRSb*TbYI$2zM!^lLR%n+YoqoeGO zPe(rEc0^R*)6S_nY8{VcI0$jPpl_(!5&}`Vs6>j1I^*tq z)?zsieyQLrc{T^LB9XrU*3vq>T$wcif2I=I@o{6|VnB*xh)G`6C((`mcl~*j{_vob z!X_f1^No4)dF02gSCX3=e1lA=YPtzjbmFZ_%<1x`Q$~x*3Dz-H_zXpOqVFi zD~jXY_6my2(eX^ci4cb$T5M<9gvnbmfx79oHlfzj2hRu&Hp{wrho`WPI7FbMuFOM( z@s#h6)d}(8*{nOVs*X^KWoRFP2cB}xed#6hND^uGL(C7l0!?gu4t+tRE%0|x>CK66?K>fM zS(0`BGv||kC-pM2fDjlTpakjeO!jti?b^h7K|DOf|X{# zoxNqIYO@ZBQMOr~mX8LI0@1!9s|k_t#^X|>%CTNvGcrTaEkl-cnPI|%t&ZT=3;PUr1A)cHNzBt?(J;{l!1_A(@=F( z&%Bd4eENLsyPpjR|6w-13QQLPPKqqBGySq#~ zDG{>n7{?o!v_p?+(HR_@$s9S+ZpT60g_U2b8s7p67QTuavfx^OJj8$K_qY-D6@0>q z;Nk;qwvR%Gvtm-|yOV=lYLhQE%?SZD#6j&^-jW`U)RT4d4+9gMt;V1cd76?~ApEX1Kk5>X4E$JBNR2tkGx38c+;2^$v4qMwvGs}-_+|yO%f!%WP zRXvpdMARpN+#N1RjMVqe&wlkWT&cPlu@)`mf4$z6lYK53E%kJ`6d3H$m*xgdvv4g& z9ZK1;3Gm%S%t&PE%MLa18G zAaX=O#+V`?sqDtKHqQ3IOC07uYRDM$^M~zfUH{;fei$si?b?&oEk7DE^LcBO!Mk)X zzsgu<5u)y`USpR~&tp6<>M_swK&nZklY=w7%I8@qp9BOQ@5?EBaM7`A-1ZA(Hfd0s z>)WIqHLgNI~m;YSbe80X&sR~B5`|pOlxMA#|{AtHPmZ- zKxjTl_uOH=BlDvyO7B@O0tdSZcNf8K3#YO*9V+4BFY-Ouf=4wManmleX?BIkxSkpt zFLl`YZKbDLyYk_x3E@|d?uCi%6)P7$U~u1^wC=zimvyT~LZ{i5kWtH_6u?#AmUgG~ zy5z8nnftcu1{DxTLeX1VFU%c*&Hsu|0EY}5kEMU}_&w`eLS`Uk-|{s{=_~Qw$C0uA zvNPWF$ai{A$EXQ*dUC4#u!Cx<>pqRGmFbkg5KR%^lA>&#kIF2uvFsvA8nrn>^Akc< zks_hh&4iWUCjAt2OpGrwUDM+ERximdi5!IVK$Z!`M;Djm<0RerOZ@$8F_$w!6(FBM zn2Kw_ys_VOZko8+hy9_`m!*;rd6G-sn(2Fsd!WmAaLs&u;ZEUGW4gExvxT#srgxt+ zH%IY6l^04XK$sG=(=Xi>Kt-wDLNaU(*KK(sh$9K)g;T48Rp7e0`x&_=ET=9km;hqJ ztusvY2LN`dB%ZtX{Ri!CIGF>m`b6NvU!g0Yqc8$6*S$y(OL7h%_s&{PH4T+i#lNoe ziX;#K#^U71%tm>2qSzcF%v4tT6u0Z8qUkm}!wuD?rFws+=FNHW1JR$}nrBgd z1qjybS3-b{i}SxSE`aVYXc+&C+>aR~`hwzcAcpWd8@5qb6B4QK;wQZJRtgPu$-%0% zGXA={Tm#@bLNIELC^I^eUgymWLwOR$M-6M^kGNr#03z0-sQOiscttYB0LTo&wnNY} z`QFcR@~^edn*1|H&Tv<>LoW2f9LtMlY^-`PN4=^~p{u~i@>b%$=UeJ{JR9yo@S)(_Gce<4 zO9-I-qPZYyX7TUuAmefsZL!Rlj84}M+dd69dyz3#=T>ul)cW82!bbum(O#*orEKUg mmhZ@TuU3CQJ>r=uJ&~2k3|fj;Kv4b$d{mV*6>}8ee*XjYs1i5; From b3adab82c0401b1eeb98961cbb721dc5f9e0e4c5 Mon Sep 17 00:00:00 2001 From: Joris Berthelot Date: Wed, 27 Jul 2016 11:01:14 +0200 Subject: [PATCH 19/45] Update async.zsh (#218) --- async.zsh | 71 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 17 deletions(-) diff --git a/async.zsh b/async.zsh index c891f11..8120973 100644 --- a/async.zsh +++ b/async.zsh @@ -3,7 +3,7 @@ # # zsh-async # -# version: 1.1.0 +# version: 1.2.0 # author: Mathias Fredriksson # url: https://github.com/mafredri/zsh-async # @@ -43,13 +43,13 @@ _async_job() { # have run into a bug ret=${ret:--1} - # Grab mutex lock + # Grab mutex lock, stalls until token is available read -ep >/dev/null # return output ( ) print -r -N -n -- "$1" "$ret" "$stdout" "$duration" "$stderr"$'\0' - # Unlock mutex + # Unlock mutex by inserting a token print -p "t" } @@ -57,22 +57,40 @@ _async_job() { _async_worker() { local -A storage local unique=0 + local notify_parent=0 + local parent_pid=0 + local coproc_pid=0 + + child_exit() { + # If coproc (cat) is the only child running, we close it to avoid + # leaving it running indefinitely and cluttering the process tree. + if [[ ${#jobstates} = 1 ]] && [[ $coproc_pid = ${${(v)jobstates##*:*:}%\=*} ]]; then + coproc : + fi + + # On older version of zsh (pre 5.2) we notify the parent through a + # SIGWINCH signal because `zpty` did not return a file descriptor (fd) + # prior to that. + if (( notify_parent )); then + # We use SIGWINCH for compatibility with older versions of zsh + # (pre 5.1.1) where other signals (INFO, ALRM, USR1, etc.) could + # cause a deadlock in the shell under certain circumstances. + kill -WINCH $parent_pid + fi + } + + # Register a SIGCHLD trap to handle the completion of child processes. + trap child_exit CHLD # Process option parameters passed to worker while getopts "np:u" opt; do case $opt in - # Use SIGWINCH since many others seem to cause zsh to freeze, e.g. ALRM, INFO, etc. - n) trap 'kill -WINCH $ASYNC_WORKER_PARENT_PID' CHLD;; - p) ASYNC_WORKER_PARENT_PID=$OPTARG;; + n) notify_parent=1;; + p) parent_pid=$OPTARG;; u) unique=1;; esac done - # Create a mutex for writing to the terminal through coproc - coproc cat - # Insert token into coproc - print -p "t" - while read -r cmd; do # Separate on spaces into an array cmd=(${=cmd}) @@ -81,7 +99,7 @@ _async_worker() { # Check for non-job commands sent to worker case $job in _unset_trap) - trap - CHLD; continue;; + notify_parent=0; continue;; _killjobs) # Do nothing in the worker when receiving the TERM signal trap '' TERM @@ -103,6 +121,16 @@ _async_worker() { done fi + # Because we close the coproc after the last job has completed, we must + # recreate it when there are no other jobs running. + if (( !${#jobstates} )); then + # Use coproc as a mutex for synchronized output between children. + coproc cat + coproc_pid=$! + # Insert token into coproc + print -p "t" + fi + # Run task in background _async_job $cmd & # Store pid because zsh job manager is extremely unflexible (show jobname as non-unique '$job')... @@ -130,8 +158,9 @@ async_process_results() { integer count=0 local worker=$1 local callback=$2 + local caller=$3 local -a items - local IFS=$'\0' + local line typeset -gA ASYNC_PROCESS_BUFFER # Read output from zpty and parse it if available @@ -139,8 +168,13 @@ async_process_results() { # Remove unwanted \r from output ASYNC_PROCESS_BUFFER[$worker]+=${line//$'\r'$'\n'/$'\n'} # Split buffer on null characters, preserve empty elements - items=("${(@)=ASYNC_PROCESS_BUFFER[$worker]}") - # Remove last element since it's due to the return string separator structure + # (an anonymous function is used to avoid leaking modified IFS into the callback) + () { + local IFS=$'\0' + items=("${(@)=ASYNC_PROCESS_BUFFER[$worker]}") + } + # Remove last element since it's an artifact + # of the return string separator structure items=("${(@)items[1,${#items}-1]}") # Continue until we receive all information @@ -160,6 +194,9 @@ async_process_results() { # If we processed any results, return success (( count )) && return 0 + # Avoid printing exit value from setopt printexitvalue + [[ $caller = trap || $caller = watcher ]] && return 0 + # No results were processed return 1 } @@ -172,7 +209,7 @@ _async_zle_watcher() { local callback=$ASYNC_CALLBACKS[$worker] if [[ -n $callback ]]; then - async_process_results $worker $callback + async_process_results $worker $callback watcher fi } @@ -194,7 +231,7 @@ _async_notify_trap() { setopt localoptions noshwordsplit for k in ${(k)ASYNC_CALLBACKS}; do - async_process_results $k ${ASYNC_CALLBACKS[$k]} + async_process_results $k ${ASYNC_CALLBACKS[$k]} trap done } From e3f1f87fc33a2ed851bbabcfff35ad7e8e0c6771 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Wed, 27 Jul 2016 12:04:49 +0300 Subject: [PATCH 20/45] Compare expanded preprompt when rendering (#214) * Compare expanded preprompt when rendering The expanded content of the preprompt was not considered previously when checking if the content had changed. E.g. path changes were never detected. The typeset (definition) and assignment are performed on separate lines as it would cause issues otherwise. Fixes #213. --- pure.zsh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pure.zsh b/pure.zsh index d1de220..b0ecfbf 100644 --- a/pure.zsh +++ b/pure.zsh @@ -141,12 +141,15 @@ prompt_pure_preprompt_render() { # execution time preprompt+="%F{yellow}${prompt_pure_cmd_exec_time}%f" + # make sure prompt_pure_last_preprompt is a global array + typeset -g -a prompt_pure_last_preprompt + # if executing through precmd, do not perform fancy terminal editing if [[ "$1" == "precmd" ]]; then print -P "\n${preprompt}" else - # only redraw if preprompt has changed - [[ "${prompt_pure_last_preprompt}" != "${preprompt}" ]] || return + # only redraw if the expanded preprompt has changed + [[ "${prompt_pure_last_preprompt[2]}" != "${(S%%)preprompt}" ]] || return # calculate length of preprompt and store it locally in preprompt_length integer preprompt_length lines @@ -157,7 +160,7 @@ prompt_pure_preprompt_render() { # calculate previous preprompt lines to figure out how the new preprompt should behave integer last_preprompt_length last_lines - prompt_pure_string_length_to_var "${prompt_pure_last_preprompt}" "last_preprompt_length" + prompt_pure_string_length_to_var "${prompt_pure_last_preprompt[1]}" "last_preprompt_length" (( last_lines = ( last_preprompt_length - 1 ) / COLUMNS + 1 )) # clr_prev_preprompt erases visual artifacts from previous preprompt @@ -190,8 +193,8 @@ prompt_pure_preprompt_render() { zle && zle .reset-prompt fi - # store previous preprompt for comparison - prompt_pure_last_preprompt=$preprompt + # store both unexpanded and expanded preprompt for comparison + prompt_pure_last_preprompt=("$preprompt" "${(S%%)preprompt}") } prompt_pure_precmd() { From 211b49481e1279f1747622e3885d405a977362ff Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Wed, 27 Jul 2016 18:04:27 +0300 Subject: [PATCH 21/45] 1.4.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3781f1c..062128e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pure-prompt", - "version": "1.3.0", + "version": "1.4.0", "description": "Pretty, minimal and fast ZSH prompt", "license": "MIT", "repository": "sindresorhus/pure", From ed58b1873a90392429aab4ff559e4d129d374677 Mon Sep 17 00:00:00 2001 From: Vasiliy Date: Fri, 29 Jul 2016 21:51:00 +0300 Subject: [PATCH 22/45] Fix link to bash port (#219) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e9b05bd..827d159 100644 --- a/readme.md +++ b/readme.md @@ -195,7 +195,7 @@ On a default setup, running the command `kldload pty` should do the trick. If yo ## Ports * **Bash** - * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/master/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. + * [sapegin/dotfiles](https://github.com/sapegin/dotfiles)’s [prompt](https://github.com/sapegin/dotfiles/blob/dd063f9c30de7d2234e8accdb5272a5cc0a3388b/includes/bash_prompt.bash) and [color theme](https://github.com/sapegin/dotfiles/tree/master/color) for `Terminal.app`. * **Fish** * [brandonweiss/pure.fish](https://github.com/brandonweiss/pure.fish): a Pure-inspired prompt for Fish, not intended to have feature parity. * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). From 6cbd49ad5c4cfa1d2e1dc5daf4a1e45c8596097a Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 25 Aug 2016 12:22:36 +0300 Subject: [PATCH 23/45] Fix double variable interpolation in branch name This commit prevents a git branch named e.g. `$TMPPREFIX` from being expanded into the actual contents of the `$TMPPREFIX` variable. Fixes #224. --- pure.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pure.zsh b/pure.zsh index b0ecfbf..2c78ab3 100644 --- a/pure.zsh +++ b/pure.zsh @@ -132,8 +132,9 @@ prompt_pure_preprompt_render() { # construct preprompt, beginning with path local preprompt="%F{blue}%~%f" - # git info - preprompt+="%F{$git_color}${vcs_info_msg_0_}${prompt_pure_git_dirty}%f" + # git info, delay evaluation of branch name until the prompt expansion to + # prevent e.g. double variable interpolation + preprompt+="%F{$git_color}"'$vcs_info_msg_0_'"${prompt_pure_git_dirty}%f" # git pull/push arrows preprompt+="%F{cyan}${prompt_pure_git_arrows}%f" # username and machine if applicable From 753ef290f86b8848595dfd60606c6deb85e25cc2 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 25 Aug 2016 18:49:07 +0300 Subject: [PATCH 24/45] Revert "Fix double variable interpolation in branch name" This reverts commit 6cbd49ad5c4cfa1d2e1dc5daf4a1e45c8596097a because it broke users prompts if they didn't have `prompt_subst` set. --- pure.zsh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pure.zsh b/pure.zsh index 2c78ab3..b0ecfbf 100644 --- a/pure.zsh +++ b/pure.zsh @@ -132,9 +132,8 @@ prompt_pure_preprompt_render() { # construct preprompt, beginning with path local preprompt="%F{blue}%~%f" - # git info, delay evaluation of branch name until the prompt expansion to - # prevent e.g. double variable interpolation - preprompt+="%F{$git_color}"'$vcs_info_msg_0_'"${prompt_pure_git_dirty}%f" + # git info + preprompt+="%F{$git_color}${vcs_info_msg_0_}${prompt_pure_git_dirty}%f" # git pull/push arrows preprompt+="%F{cyan}${prompt_pure_git_arrows}%f" # username and machine if applicable From 780d1a5a08589afa051271bbe6c74c1f2e05c368 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 25 Aug 2016 18:59:34 +0300 Subject: [PATCH 25/45] Prevent parameter expansion in preprompt By unsetting `prompt_subst` for the `prompt_pure_preprompt_render` function we can avoid e.g. git branch names with a `$`-sign to be expanded as parameters. Fixes #224 and #225 (as a result of 6cbd49a). --- pure.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pure.zsh b/pure.zsh index b0ecfbf..1db1813 100644 --- a/pure.zsh +++ b/pure.zsh @@ -123,6 +123,9 @@ prompt_pure_string_length_to_var() { } prompt_pure_preprompt_render() { + # make sure prompt_subst is unset to prevent parameter expansion in prompt + setopt local_options no_prompt_subst + # check that no command is currently running, the preprompt will otherwise be rendered in the wrong place [[ -n ${prompt_pure_cmd_timestamp+x} && "$1" != "precmd" ]] && return From 9501ac14aed592bc4fefce237f37d0cbff59d241 Mon Sep 17 00:00:00 2001 From: Joel Kuzmarski Date: Thu, 1 Sep 2016 03:48:03 -0500 Subject: [PATCH 26/45] Use ; instead of && for promptinit (#227) Closes #226 --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 827d159..47a84e4 100644 --- a/readme.md +++ b/readme.md @@ -74,7 +74,7 @@ Initialize the prompt system (if not so already) and choose `pure`: ```sh # .zshrc -autoload -U promptinit && promptinit +autoload -U promptinit; promptinit prompt pure ``` @@ -114,7 +114,7 @@ Defines the git up arrow symbol. The default value is `⇡`. ```sh # .zshrc -autoload -U promptinit && promptinit +autoload -U promptinit; promptinit # optionally define some options PURE_CMD_MAX_EXEC_TIME=10 From d826130a1accfa175007a96085fd985ddb30fd0c Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 2 Sep 2016 20:21:59 +0300 Subject: [PATCH 27/45] Update zsh-async to fix multi-space path bug If a directory was named `hello world` (two spaces) this would previously have resulted in pure trying to `cd` into `hello world` (one space) to perform git actions. This issue was fixed in zsh-async 1.3.0. There might also have been other cases, e.g. a newline in the directory name. --- async.zsh | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/async.zsh b/async.zsh index 8120973..4f39e9d 100644 --- a/async.zsh +++ b/async.zsh @@ -3,7 +3,7 @@ # # zsh-async # -# version: 1.2.0 +# version: 1.3.0 # author: Mathias Fredriksson # url: https://github.com/mafredri/zsh-async # @@ -26,7 +26,7 @@ _async_job() { unset stdout stderr ret eval "$( { - stdout=$(eval "$@") + stdout=$(eval '$@') ret=$? typeset -p stdout ret } 2> >(stderr=$(cat); typeset -p stderr) @@ -91,9 +91,21 @@ _async_worker() { esac done - while read -r cmd; do - # Separate on spaces into an array - cmd=(${=cmd}) + local -a buffer + # Command arguments are separated with a null character. + while read -r -d $'\0' line; do + if [[ $line != ___ZSH_ASNYC_EOC___ ]]; then + # Read command arguments until we receive magic end-of-command string. + buffer+=($line) + continue + fi + + # Copy command buffer + cmd=("${(@)=buffer}") + + # Reset command buffer + buffer=() + local job=$cmd[1] # Check for non-job commands sent to worker @@ -223,7 +235,14 @@ async_job() { setopt localoptions noshwordsplit local worker=$1; shift - zpty -w $worker $@ + + local cmd p + for p in "$@"; do + cmd+="$p"$'\0' + done + cmd+=___ZSH_ASNYC_EOC___$'\0' + + zpty -w $worker $cmd } # This function traps notification signals and calls all registered callbacks @@ -283,7 +302,7 @@ async_flush_jobs() { zpty -t $worker &>/dev/null || return 1 # Send kill command to worker - zpty -w $worker "_killjobs" + async_job $worker "_killjobs" # Clear all output buffers while zpty -r $worker line; do true; done From 5ccc336b35ab76d912eded04a5be132384d359c8 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Tue, 20 Sep 2016 16:56:12 +0300 Subject: [PATCH 28/45] Restore prompt_subst setopt when rendering prompt (#231) We store the user setting for `prompt_subst` before changing it in the local scope of `prompt_pure_preprompt_render`. This allows us to restore it when we render the real prompt (`PS1`) through `zle .redraw-prompt`. Fixes #230. --- pure.zsh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pure.zsh b/pure.zsh index 1db1813..a62a60e 100644 --- a/pure.zsh +++ b/pure.zsh @@ -123,7 +123,10 @@ prompt_pure_string_length_to_var() { } prompt_pure_preprompt_render() { - # make sure prompt_subst is unset to prevent parameter expansion in prompt + # store the current prompt_subst setting so that it can be restored later + local prompt_subst_status=$options[prompt_subst] + + # make sure prompt_subst is unset to prevent parameter expansion in preprompt setopt local_options no_prompt_subst # check that no command is currently running, the preprompt will otherwise be rendered in the wrong place @@ -192,6 +195,11 @@ prompt_pure_preprompt_render() { # modify previous preprompt print -Pn "${clr_prev_preprompt}\e[${lines}A\e[${COLUMNS}D${preprompt}${clr}\n" + if [[ $prompt_subst_status = 'on' ]]; then + # re-eanble prompt_subst for expansion on PS1 + setopt prompt_subst + fi + # redraw prompt (also resets cursor position) zle && zle .reset-prompt fi @@ -324,6 +332,8 @@ prompt_pure_setup() { zmodload zsh/datetime zmodload zsh/zle + zmodload zsh/parameter + autoload -Uz add-zsh-hook autoload -Uz vcs_info autoload -Uz async && async From ecae2cc16cf6b511bfa4d829ff3018ab062ef2e2 Mon Sep 17 00:00:00 2001 From: Kevin Martensson Date: Fri, 14 Oct 2016 16:02:45 +0200 Subject: [PATCH 29/45] `HyperTerm` => `Hyper` --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 47a84e4..af1bddb 100644 --- a/readme.md +++ b/readme.md @@ -125,7 +125,7 @@ prompt pure ## Tips -In the screenshot you see Pure running in [HyperTerm](https://hyperterm.org) with the [hyperterm-snazzy](https://github.com/sindresorhus/hyperterm-snazzy) theme and Menlo font. +In the screenshot you see Pure running in [Hyper](https://hyper.is) with the [hyper-snazzy](https://github.com/sindresorhus/hyper-snazzy) theme and Menlo font. The [Tomorrow Night Eighties](https://github.com/chriskempson/tomorrow-theme) theme with the [Droid Sans Mono](https://fonts.google.com/specimen/Droid+Sans+Mono) font (15pt) is also a [nice combination](https://github.com/sindresorhus/pure/blob/95ee3e7618c6e2162a1e3cdac2a88a20ac3beb27/screenshot.png).
*Just make sure you have anti-aliasing enabled in your terminal.* From a546b5603967628502fe178d7aa591b9037f02ef Mon Sep 17 00:00:00 2001 From: Ivan Shapovalov Date: Thu, 17 Nov 2016 15:14:49 +0300 Subject: [PATCH 30/45] Mention intelfx/pure fork in readme (#247) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index af1bddb..39e68fb 100644 --- a/readme.md +++ b/readme.md @@ -201,6 +201,7 @@ On a default setup, running the command `kldload pty` should do the trick. If yo * [rafaelrinaldi/pure](https://github.com/rafaelrinaldi/pure), support for bare Fish and various framework ([Oh-My-Fish](https://github.com//oh-my-fish/oh-my-fish), [Fisherman](https://github.com//fisherman/fisherman) and [Wahoo](https://github.com//bucaran/wahoo)). * **Zsh** * [therealklanni/purity](https://github.com/therealklanni/purity): a more compact current working directory, important details on the main prompt line, and extra Git indicators. + * [intelfx/pure](https://github.com/intelfx/pure): Solarized-friendly colors, highly verbose and fully async Git integration ## Team From 787cab6d89889402dd06d769d03cf70baa0fbd8c Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 12 Dec 2016 09:56:09 +0200 Subject: [PATCH 31/45] Update zsh-async to fix issue with zsh 5.3 --- async.zsh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/async.zsh b/async.zsh index 4f39e9d..345eb80 100644 --- a/async.zsh +++ b/async.zsh @@ -3,7 +3,7 @@ # # zsh-async # -# version: 1.3.0 +# version: 1.3.1 # author: Mathias Fredriksson # url: https://github.com/mafredri/zsh-async # @@ -61,6 +61,13 @@ _async_worker() { local parent_pid=0 local coproc_pid=0 + # Deactivate all zsh hooks inside the worker. + zsh_hooks=(chpwd periodic precmd preexec zshexit zshaddhistory) + unfunction $zsh_hooks &>/dev/null + # And hooks with registered functions. + zsh_hook_functions=( ${^zsh_hooks}_functions ) + unset $zsh_hook_functions + child_exit() { # If coproc (cat) is the only child running, we close it to avoid # leaving it running indefinitely and cluttering the process tree. @@ -194,7 +201,7 @@ async_process_results() { # Work through all results while (( ${#items} > 0 )); do - $callback "${(@)=items[1,5]}" + $callback "${(@)items[1,5]}" shift 5 items count+=1 done From 26fff0cefaa2fbdafbc2cac47e898e29bfd4c30b Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 12 Dec 2016 19:06:11 +0200 Subject: [PATCH 32/45] 1.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 062128e..b7b7865 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pure-prompt", - "version": "1.4.0", + "version": "1.4.1", "description": "Pretty, minimal and fast ZSH prompt", "license": "MIT", "repository": "sindresorhus/pure", From 1715edafcf7ac75223353596311bf80c11bed4f9 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 12 Dec 2016 23:46:11 +0200 Subject: [PATCH 33/45] Add issue template (#260) --- .github/issue_template.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/issue_template.md diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 0000000..6e09db0 --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,34 @@ + + +### General information + +- Pure version: 1.x.x +- ZSH version: 5.x.x +- Terminal program & version: +- Operating system: +- ZSH framework: + +I have: +- [ ] Tested with another terminal program and can reproduce the issue: +- [ ] Followed the [Integration](https://github.com/sindresorhus/pure#integration) instructions for my framework + +### Problem description + + +### Reproduction steps + +1. +2. +3. + +### My `.zshrc`: + + + +```shell +autoload -U promptinit; promptinit +prompt pure +``` From d38a8cc4e7defb3d79356d001eaced288a8bf3a7 Mon Sep 17 00:00:00 2001 From: Antoine Cotten Date: Sat, 17 Dec 2016 17:24:14 +0100 Subject: [PATCH 34/45] Add install instructions for Zim (#262) --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index 39e68fb..2fee8d4 100644 --- a/readme.md +++ b/readme.md @@ -146,6 +146,12 @@ Pure is bundled with Prezto. No need to install it. Set `zstyle ':prezto:module:prompt' theme 'pure'` in `~/.zpreztorc`. +### [zim](https://github.com/Eriner/zim) + +Pure is bundled with Zim. No need to install it. + +Set `zprompt_theme='pure'` in `~/.zimrc`. + ### [antigen](https://github.com/zsh-users/antigen) Update your `.zshrc` file with the following two lines (order matters). Do not use the `antigen theme` function. From 71f9326028c23050813f42b6669f206bb5ab3aa3 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Sat, 17 Dec 2016 18:27:44 +0200 Subject: [PATCH 35/45] Readme improvements (#259) --- readme.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 2fee8d4..ed5b59e 100644 --- a/readme.md +++ b/readme.md @@ -24,7 +24,7 @@ Most prompts are cluttered, ugly and slow. I wanted something visually pleasing ## Install -Can be installed with `npm` or manually. Requires git 2.0.0+ and ZSH 5.0.0+. +Can be installed with `npm` or manually. Requires Git 2.0.0+ and ZSH 5.2+. Older versions of ZSH are known to work, but they are **not** recommended. ### npm @@ -137,8 +137,14 @@ To have commands colorized as seen in the screenshot, install [zsh-syntax-highli ### [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) -1. Symlink (or copy) `pure.zsh` to `~/.oh-my-zsh/custom/themes/pure.zsh-theme`. -2. Set `ZSH_THEME="pure"` in your `.zshrc` file. +1. Symlink (or copy) `pure.zsh` to `~/.oh-my-zsh/custom/pure.zsh-theme`. +2. Symlink (or copy) `async.zsh` to `~/.oh-my-zsh/custom/async.zsh`. +3. Set `ZSH_THEME="pure"` in your `.zshrc` file. + +Or skip the `oh-my-zsh` integration above and simply: + +1. Set `ZSH_THEME=""` in your `.zshrc` to disable oh-my-zsh themes. +2. Follow the Pure [Install](#install) instructions. ### [prezto](https://github.com/sorin-ionescu/prezto) From 748bf06f40bd418c4f11c67a4d3b8ed079ba6026 Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Mon, 19 Dec 2016 04:14:40 -0800 Subject: [PATCH 36/45] Add zplug install instructions (#261) --- readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/readme.md b/readme.md index ed5b59e..8baeaf4 100644 --- a/readme.md +++ b/readme.md @@ -176,6 +176,15 @@ $ antibody bundle mafredri/zsh-async $ antibody bundle sindresorhus/pure ``` +### [zplug](https://github.com/zplug/zplug) + +Update your `.zshrc` file with the following lines (order matters): + +```console +$ zplug mafredri/zsh-async, from:github, defer:0 # Load this first +$ zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme +``` + ## FAQ ### My preprompt is missing when I clear the screen with Ctrl+L From 7f279528886796e2412049f9408b245e1335903b Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 19 Dec 2016 18:30:56 +0200 Subject: [PATCH 37/45] Change integration examples from commands to configuration lines (#265) --- readme.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/readme.md b/readme.md index 8baeaf4..c28c6ac 100644 --- a/readme.md +++ b/readme.md @@ -162,27 +162,27 @@ Set `zprompt_theme='pure'` in `~/.zimrc`. Update your `.zshrc` file with the following two lines (order matters). Do not use the `antigen theme` function. -```console -$ antigen bundle mafredri/zsh-async -$ antigen bundle sindresorhus/pure +```sh +antigen bundle mafredri/zsh-async +antigen bundle sindresorhus/pure ``` ### [antibody](https://github.com/getantibody/antibody) Update your `.zshrc` file with the following two lines (order matters): -```console -$ antibody bundle mafredri/zsh-async -$ antibody bundle sindresorhus/pure +```sh +antibody bundle mafredri/zsh-async +antibody bundle sindresorhus/pure ``` ### [zplug](https://github.com/zplug/zplug) -Update your `.zshrc` file with the following lines (order matters): +Update your `.zshrc` file with the following two lines (order matters): -```console -$ zplug mafredri/zsh-async, from:github, defer:0 # Load this first -$ zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme +```sh +zplug mafredri/zsh-async, from:github, defer:0 # Load this first +zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme ``` ## FAQ From 6dadef70935df047e925b383e7fdbe90d6fe3b4f Mon Sep 17 00:00:00 2001 From: Mat Schaffer Date: Wed, 4 Jan 2017 22:38:11 +0900 Subject: [PATCH 38/45] Simplify zplug instructions in readme (#267) Setting defer:0 is not necessary since this is the default zplug value. Order is insignificant as long as zsh-async has been loaded before the pure precmd where the async worker is initialized. --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index c28c6ac..8dfbd13 100644 --- a/readme.md +++ b/readme.md @@ -178,10 +178,10 @@ antibody bundle sindresorhus/pure ### [zplug](https://github.com/zplug/zplug) -Update your `.zshrc` file with the following two lines (order matters): +Update your `.zshrc` file with the following two lines: ```sh -zplug mafredri/zsh-async, from:github, defer:0 # Load this first +zplug mafredri/zsh-async, from:github zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme ``` From caafdf582a3459a0fd66343c1d3badda809cdd6a Mon Sep 17 00:00:00 2001 From: Xiao-Ou Zhang Date: Thu, 12 Jan 2017 22:17:41 -0500 Subject: [PATCH 39/45] Change prezto url to the active prezto repo (#268) Because @sorin-ionescu has been disappeared for about one year, the previous prezto repo is dead now. New actively maintained repo has been moved to zsh-users. See details on [this issue](https://github.com/sorin-ionescu/prezto). --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 8dfbd13..3a60e9a 100644 --- a/readme.md +++ b/readme.md @@ -146,7 +146,7 @@ Or skip the `oh-my-zsh` integration above and simply: 1. Set `ZSH_THEME=""` in your `.zshrc` to disable oh-my-zsh themes. 2. Follow the Pure [Install](#install) instructions. -### [prezto](https://github.com/sorin-ionescu/prezto) +### [prezto](https://github.com/zsh-users/prezto) Pure is bundled with Prezto. No need to install it. From ee0c6a445ad9dc4b663be40754c2ef63a7362b56 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 16 Jan 2017 05:10:36 +0200 Subject: [PATCH 40/45] Disable interactive passwords in SSH for git fetch (#269) This commit fixes a problem where SSH (used by Git) is able to interactively prompt for a password that can not be redirected to `/dev/null`. An interactive SSH password prompt inside the async worker does three things: 1. Leave the `git fetch` hanging due to waiting for input 2. Capture part of the input to the async worker, thus creating nonsense commands 3. Use some characters from future async jobs as a password and attempts to login Even if this was fixed in `zsh-async`, it is still good to disable the password prompt to avoid issue numero uno. --- pure.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pure.zsh b/pure.zsh index a62a60e..f1fd5cd 100644 --- a/pure.zsh +++ b/pure.zsh @@ -256,7 +256,11 @@ prompt_pure_async_git_fetch() { builtin cd -q "$*" # set GIT_TERMINAL_PROMPT=0 to disable auth prompting for git fetch (git 2.3+) - GIT_TERMINAL_PROMPT=0 command git -c gc.auto=0 fetch + export GIT_TERMINAL_PROMPT=0 + # set ssh BachMode to disable all interactive ssh password prompting + export GIT_SSH_COMMAND=${GIT_SSH_COMMAND:-"ssh -o BatchMode=yes"} + + command git -c gc.auto=0 fetch } prompt_pure_async_tasks() { From 6ec0029ac5f6ce4f7f9793e166df01e615c59973 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Tue, 17 Jan 2017 12:46:32 +0200 Subject: [PATCH 41/45] Update zsh-async to 1.5.0 (#271) --- async.zsh | 323 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 204 insertions(+), 119 deletions(-) diff --git a/async.zsh b/async.zsh index 345eb80..c1a4f68 100644 --- a/async.zsh +++ b/async.zsh @@ -3,76 +3,91 @@ # # zsh-async # -# version: 1.3.1 +# version: 1.5.0 # author: Mathias Fredriksson # url: https://github.com/mafredri/zsh-async # +# Produce debug output from zsh-async when set to 1. +ASYNC_DEBUG=${ASYNC_DEBUG:-0} + # Wrapper for jobs executed by the async worker, gives output in parseable format with execution time _async_job() { + # Disable xtrace as it would mangle the output. + setopt localoptions noxtrace + # Store start time as double precision (+E disables scientific notation) float -F duration=$EPOCHREALTIME - # Run the command - # - # What is happening here is that we are assigning stdout, stderr and ret to - # variables, and then we are printing out the variable assignment through - # typeset -p. This way when we run eval we get something along the lines of: - # eval " - # typeset stdout=' M async.test.sh\n M async.zsh' - # typeset ret=0 - # typeset stderr='' - # " - unset stdout stderr ret - eval "$( - { - stdout=$(eval '$@') - ret=$? - typeset -p stdout ret - } 2> >(stderr=$(cat); typeset -p stderr) - )" + # Run the command and capture both stdout (`eval`) and stderr (`cat`) in + # separate subshells. When the command is complete, we grab write lock + # (mutex token) and output everything except stderr inside the command + # block, after the command block has completed, the stdin for `cat` is + # closed, causing stderr to be appended with a $'\0' at the end to mark the + # end of output from this job. + local stdout stderr ret tok + { + stdout=$(eval "$@") + ret=$? + duration=$(( EPOCHREALTIME - duration )) # Calculate duration. - # Calculate duration - duration=$(( EPOCHREALTIME - duration )) + # Grab mutex lock, stalls until token is available. + read -r -k 1 -p tok || exit 1 - # stip all null-characters from stdout and stderr - stdout=${stdout//$'\0'/} - stderr=${stderr//$'\0'/} + # Return output ( ). + print -r -n - ${(q)1} $ret ${(q)stdout} $duration + } 2> >(stderr=$(cat) && print -r -n - " "${(q)stderr}$'\0') - # if ret is missing for some unknown reason, set it to -1 to indicate we - # have run into a bug - ret=${ret:--1} - - # Grab mutex lock, stalls until token is available - read -ep >/dev/null - - # return output ( ) - print -r -N -n -- "$1" "$ret" "$stdout" "$duration" "$stderr"$'\0' - - # Unlock mutex by inserting a token - print -p "t" + # Unlock mutex by inserting a token. + print -n -p $tok } # The background worker manages all tasks and runs them without interfering with other processes _async_worker() { + # Reset all options to defaults inside async worker. + emulate -R zsh + + # Make sure monitor is unset to avoid printing the + # pids of child processes. + unsetopt monitor + + # Redirect stderr to `/dev/null` in case unforseen errors produced by the + # worker. For example: `fork failed: resource temporarily unavailable`. + # Some older versions of zsh might also print malloc errors (know to happen + # on at least zsh 5.0.2 and 5.0.8) likely due to kill signals. + exec 2>/dev/null + + # When a zpty is deleted (using -d) all the zpty instances created before + # the one being deleted receive a SIGHUP, unless we catch it, the async + # worker would simply exit (stop working) even though visible in the list + # of zpty's (zpty -L). + TRAPHUP() { + return 0 # Return 0, indicating signal was handled. + } + local -A storage local unique=0 local notify_parent=0 local parent_pid=0 local coproc_pid=0 + local processing=0 - # Deactivate all zsh hooks inside the worker. + local -a zsh_hooks zsh_hook_functions zsh_hooks=(chpwd periodic precmd preexec zshexit zshaddhistory) - unfunction $zsh_hooks &>/dev/null - # And hooks with registered functions. - zsh_hook_functions=( ${^zsh_hooks}_functions ) - unset $zsh_hook_functions + zsh_hook_functions=(${^zsh_hooks}_functions) + unfunction $zsh_hooks &>/dev/null # Deactivate all zsh hooks inside the worker. + unset $zsh_hook_functions # And hooks with registered functions. + unset zsh_hooks zsh_hook_functions # Cleanup. child_exit() { + local -a pids + pids=(${${(v)jobstates##*:*:}%\=*}) + # If coproc (cat) is the only child running, we close it to avoid # leaving it running indefinitely and cluttering the process tree. - if [[ ${#jobstates} = 1 ]] && [[ $coproc_pid = ${${(v)jobstates##*:*:}%\=*} ]]; then + if (( ! processing )) && [[ $#pids = 1 ]] && [[ $coproc_pid = $pids[1] ]]; then coproc : + coproc_pid=0 fi # On older version of zsh (pre 5.2) we notify the parent through a @@ -98,38 +113,50 @@ _async_worker() { esac done - local -a buffer - # Command arguments are separated with a null character. - while read -r -d $'\0' line; do - if [[ $line != ___ZSH_ASNYC_EOC___ ]]; then - # Read command arguments until we receive magic end-of-command string. - buffer+=($line) - continue - fi + killjobs() { + local tok + local -a pids + pids=(${${(v)jobstates##*:*:}%\=*}) - # Copy command buffer - cmd=("${(@)=buffer}") + # No need to send SIGHUP if no jobs are running. + (( $#pids == 0 )) && continue + (( $#pids == 1 )) && [[ $coproc_pid = $pids[1] ]] && continue - # Reset command buffer - buffer=() + # Grab lock to prevent half-written output in case a child + # process is in the middle of writing to stdin during kill. + (( coproc_pid )) && read -r -k 1 -p tok - local job=$cmd[1] + kill -HUP -$$ # Send to entire process group. + coproc : # Quit coproc. + coproc_pid=0 # Reset pid. + } + + local request + local -a cmd + while :; do + # Wait for jobs sent by async_job. + read -r -d $'\0' request || { + # Since we handle SIGHUP above (and thus do not know when `zpty -d`) + # occurs, a failure to read probably indicates that stdin has + # closed. This is why we propagate the signal to all children and + # exit manually. + kill -HUP -$$ # Send SIGHUP to all jobs. + exit 0 + } # Check for non-job commands sent to worker - case $job in - _unset_trap) - notify_parent=0; continue;; - _killjobs) - # Do nothing in the worker when receiving the TERM signal - trap '' TERM - # Send TERM to the entire process group (PID and all children) - kill -TERM -$$ &>/dev/null - # Reset trap - trap - TERM - continue - ;; + case $request in + _unset_trap) notify_parent=0; continue;; + _killjobs) killjobs; continue;; esac + # Parse the request using shell parsing (z) to allow commands + # to be parsed from single strings and multi-args alike. + cmd=("${(z)request}") + + # Name of the job (first argument). + local job=$cmd[1] + # If worker should perform unique jobs if (( unique )); then # Check if a previous job is still running, if yes, let it finnish @@ -140,20 +167,25 @@ _async_worker() { done fi + # Guard against closing coproc from trap before command has started. + processing=1 + # Because we close the coproc after the last job has completed, we must # recreate it when there are no other jobs running. - if (( !${#jobstates} )); then + if (( ! coproc_pid )); then # Use coproc as a mutex for synchronized output between children. coproc cat - coproc_pid=$! + coproc_pid="$!" # Insert token into coproc - print -p "t" + print -n -p "t" fi - # Run task in background + # Run job in background, completed jobs are printed to stdout. _async_job $cmd & # Store pid because zsh job manager is extremely unflexible (show jobname as non-unique '$job')... - storage[$job]=$! + storage[$job]="$!" + + processing=0 # Disable guard. done } @@ -174,46 +206,54 @@ _async_worker() { async_process_results() { setopt localoptions noshwordsplit - integer count=0 local worker=$1 local callback=$2 local caller=$3 local -a items - local line + local null=$'\0' data + integer -l len pos num_processed typeset -gA ASYNC_PROCESS_BUFFER - # Read output from zpty and parse it if available - while zpty -rt $worker line 2>/dev/null; do - # Remove unwanted \r from output - ASYNC_PROCESS_BUFFER[$worker]+=${line//$'\r'$'\n'/$'\n'} - # Split buffer on null characters, preserve empty elements - # (an anonymous function is used to avoid leaking modified IFS into the callback) - () { - local IFS=$'\0' - items=("${(@)=ASYNC_PROCESS_BUFFER[$worker]}") - } - # Remove last element since it's an artifact - # of the return string separator structure - items=("${(@)items[1,${#items}-1]}") - # Continue until we receive all information - (( ${#items} % 5 )) && continue + # Read output from zpty and parse it if available. + while zpty -r -t $worker data 2>/dev/null; do + ASYNC_PROCESS_BUFFER[$worker]+=$data + len=${#ASYNC_PROCESS_BUFFER[$worker]} + pos=${ASYNC_PROCESS_BUFFER[$worker][(i)$null]} # Get index of NULL-character (delimiter). - # Work through all results - while (( ${#items} > 0 )); do - $callback "${(@)items[1,5]}" - shift 5 items - count+=1 + # Keep going until we find a NULL-character. + if (( ! len )) || (( pos > len )); then + continue + fi + + while (( pos <= len )); do + # Take the content from the beginning, until the NULL-character and + # perform shell parsing (z) and unquoting (Q) as an array (@). + items=("${(@Q)${(z)ASYNC_PROCESS_BUFFER[$worker][1,$pos-1]}}") + + # Remove the extracted items from the buffer. + ASYNC_PROCESS_BUFFER[$worker]=${ASYNC_PROCESS_BUFFER[$worker][$pos+1,$len]} + + if (( $#items == 5 )); then + $callback "${(@)items}" # Send all parsed items to the callback. + else + # In case of corrupt data, invoke callback with *async* as job + # name, non-zero exit status and an error message on stderr. + $callback "async" 1 "" 0 "$0:$LINENO: error: bad format, got ${#items} items (${(@q)items})" + fi + + (( num_processed++ )) + + len=${#ASYNC_PROCESS_BUFFER[$worker]} + if (( len > 1 )); then + pos=${ASYNC_PROCESS_BUFFER[$worker][(i)$null]} # Get index of NULL-character (delimiter). + fi done - - # Empty the buffer - unset "ASYNC_PROCESS_BUFFER[$worker]" done - # If we processed any results, return success - (( count )) && return 0 + (( num_processed )) && return 0 - # Avoid printing exit value from setopt printexitvalue + # Avoid printing exit value when `setopt printexitvalue` is active.` [[ $caller = trap || $caller = watcher ]] && return 0 # No results were processed @@ -243,13 +283,13 @@ async_job() { local worker=$1; shift - local cmd p - for p in "$@"; do - cmd+="$p"$'\0' - done - cmd+=___ZSH_ASNYC_EOC___$'\0' + local -a cmd + cmd=("$@") + if (( $#cmd > 1 )); then + cmd=(${(q)cmd}) # Quote special characters in multi argument commands. + fi - zpty -w $worker $cmd + zpty -w $worker $cmd$'\0' } # This function traps notification signals and calls all registered callbacks @@ -276,7 +316,9 @@ async_register_callback() { ASYNC_CALLBACKS[$worker]="$*" - if (( ! ASYNC_USE_ZLE_HANDLER )); then + # Enable trap when the ZLE watcher is unavailable, allows + # workers to notify (via -n) when a job is done. + if [[ ! -o interactive ]] || [[ ! -o zle ]]; then trap '_async_notify_trap' WINCH fi } @@ -311,10 +353,17 @@ async_flush_jobs() { # Send kill command to worker async_job $worker "_killjobs" - # Clear all output buffers - while zpty -r $worker line; do true; done + # Clear the zpty buffer. + local junk + if zpty -r -t $worker junk '*'; then + (( ASYNC_DEBUG )) && print -n "async_flush_jobs $worker: ${(V)junk}" + while zpty -r -t $worker junk '*'; do + (( ASYNC_DEBUG )) && print -n "${(V)junk}" + done + (( ASYNC_DEBUG )) && print + fi - # Clear any partial buffers + # Finally, clear the process buffer in case of partially parsed responses. typeset -gA ASYNC_PROCESS_BUFFER unset "ASYNC_PROCESS_BUFFER[$worker]" } @@ -339,16 +388,47 @@ async_start_worker() { typeset -gA ASYNC_PTYS typeset -h REPLY + typeset has_xtrace=0 + + # Make sure async worker is started without xtrace + # (the trace output interferes with the worker). + [[ -o xtrace ]] && { + has_xtrace=1 + unsetopt xtrace + } + + if (( ! ASYNC_ZPTY_RETURNS_FD )) && [[ -o interactive ]] && [[ -o zle ]]; then + # When zpty doesn't return a file descriptor (on older versions of zsh) + # we try to guess it anyway. + integer -l zptyfd + exec {zptyfd}>&1 # Open a new file descriptor (above 10). + exec {zptyfd}>&- # Close it so it's free to be used by zpty. + fi + zpty -b $worker _async_worker -p $$ $@ || { async_stop_worker $worker return 1 } - if (( ASYNC_USE_ZLE_HANDLER )); then - ASYNC_PTYS[$REPLY]=$worker - zle -F $REPLY _async_zle_watcher + # Re-enable it if it was enabled, for debugging. + (( has_xtrace )) && setopt xtrace - # If worker was called with -n, disable trap in favor of zle handler + if [[ $ZSH_VERSION < 5.0.8 ]]; then + # For ZSH versions older than 5.0.8 we delay a bit to give + # time for the worker to start before issuing commands, + # otherwise it will not be ready to receive them. + sleep 0.001 + fi + + if [[ -o interactive ]] && [[ -o zle ]]; then + if (( ! ASYNC_ZPTY_RETURNS_FD )); then + REPLY=$zptyfd # Use the guessed value for the file desciptor. + fi + + ASYNC_PTYS[$REPLY]=$worker # Map the file desciptor to the worker. + zle -F $REPLY _async_zle_watcher # Register the ZLE handler. + + # Disable trap in favor of ZLE handler when notify is enabled (-n). async_job $worker _unset_trap fi } @@ -373,6 +453,10 @@ async_stop_worker() { done async_unregister_callback $worker zpty -d $worker 2>/dev/null || ret=$? + + # Clear any partial buffers. + typeset -gA ASYNC_PROCESS_BUFFER + unset "ASYNC_PROCESS_BUFFER[$worker]" done return $ret @@ -391,12 +475,13 @@ async_init() { zmodload zsh/zpty zmodload zsh/datetime - # Check if zsh/zpty returns a file descriptor or not, shell must also be interactive - ASYNC_USE_ZLE_HANDLER=0 - [[ -o interactive ]] && { + # Check if zsh/zpty returns a file descriptor or not, + # shell must also be interactive with zle enabled. + ASYNC_ZPTY_RETURNS_FD=0 + [[ -o interactive ]] && [[ -o zle ]] && { typeset -h REPLY - zpty _async_test cat - (( REPLY )) && ASYNC_USE_ZLE_HANDLER=1 + zpty _async_test : + (( REPLY )) && ASYNC_ZPTY_RETURNS_FD=1 zpty -d _async_test } } From 3dd645970e2cdb8bb17d628b13626afadf46741f Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Wed, 18 Jan 2017 18:29:19 +0200 Subject: [PATCH 42/45] Evaluate $PROMPT at render time (#274) This allows $PURE_PROMPT_SYMBOL to be modified at any point. --- pure.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pure.zsh b/pure.zsh index f1fd5cd..54719b7 100644 --- a/pure.zsh +++ b/pure.zsh @@ -368,7 +368,7 @@ prompt_pure_setup() { [[ $UID -eq 0 ]] && prompt_pure_username=' %F{white}%n%f%F{242}@%m%f' # prompt turns red if the previous command didn't exit with 0 - PROMPT="%(?.%F{magenta}.%F{red})${PURE_PROMPT_SYMBOL:-❯}%f " + PROMPT='%(?.%F{magenta}.%F{red})${PURE_PROMPT_SYMBOL:-❯}%f ' } prompt_pure_setup "$@" From e06fd4af634ff741a6a5b019b35dd5328121f7e9 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Thu, 19 Jan 2017 17:30:19 +0200 Subject: [PATCH 43/45] Check for git arrows asynchronously (#272) Previously `command git rev-list --left-right --count HEAD...@'{u}'` was run in a subshell, and upon `git fetch` completion, run once again. This is now done as an async job (`prompt_pure_async_git_arrows`) and is also called within `prompt_pure_async_git_fetch` to return the arrow status immediately after `git fetch` has completed, this saves us from waiting until the git fetch is done to only then execute a new async job to check the arrow status. Changes in git arrow / git dirty status are also handled better and `prompt_pure_preprompt_render` is not called unless they actually changed. --- pure.zsh | 102 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 44 deletions(-) diff --git a/pure.zsh b/pure.zsh index 54719b7..42f43f1 100644 --- a/pure.zsh +++ b/pure.zsh @@ -61,29 +61,6 @@ prompt_pure_clear_screen() { prompt_pure_preprompt_render precmd } -prompt_pure_check_git_arrows() { - # reset git arrows - prompt_pure_git_arrows= - - # check if there is an upstream configured for this branch - command git rev-parse --abbrev-ref @'{u}' &>/dev/null || return - - local arrow_status - # check git left and right arrow_status - arrow_status="$(command git rev-list --left-right --count HEAD...@'{u}' 2>/dev/null)" - # exit if the command failed - (( !$? )) || return - - # left and right are tab-separated, split on tab and store as array - arrow_status=(${(ps:\t:)arrow_status}) - local arrows left=${arrow_status[1]} right=${arrow_status[2]} - - (( ${right:-0} > 0 )) && arrows+="${PURE_GIT_DOWN_ARROW:-⇣}" - (( ${left:-0} > 0 )) && arrows+="${PURE_GIT_UP_ARROW:-⇡}" - - [[ -n $arrows ]] && prompt_pure_git_arrows=" ${arrows}" -} - prompt_pure_set_title() { # emacs terminal does not support settings the title (( ${+EMACS} )) && return @@ -216,9 +193,6 @@ prompt_pure_precmd() { # with the initial preprompt rendering prompt_pure_cmd_timestamp= - # check for git arrows - prompt_pure_check_git_arrows - # shows the full path in the title prompt_pure_set_title 'expand-prompt' '%~' @@ -237,33 +211,46 @@ prompt_pure_precmd() { # fastest possible way to check if repo is dirty prompt_pure_async_git_dirty() { - local untracked_dirty=$1; shift + setopt localoptions noshwordsplit + local untracked_dirty=$1 dir=$2 # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - builtin cd -q "$*" + builtin cd -q $dir - if [[ "$untracked_dirty" == "0" ]]; then + if [[ $untracked_dirty = 0 ]]; then command git diff --no-ext-diff --quiet --exit-code else test -z "$(command git status --porcelain --ignore-submodules -unormal)" fi - (( $? )) && echo "*" + return $? } prompt_pure_async_git_fetch() { + setopt localoptions noshwordsplit # use cd -q to avoid side effects of changing directory, e.g. chpwd hooks - builtin cd -q "$*" + builtin cd -q $1 # set GIT_TERMINAL_PROMPT=0 to disable auth prompting for git fetch (git 2.3+) export GIT_TERMINAL_PROMPT=0 # set ssh BachMode to disable all interactive ssh password prompting export GIT_SSH_COMMAND=${GIT_SSH_COMMAND:-"ssh -o BatchMode=yes"} - command git -c gc.auto=0 fetch + command git -c gc.auto=0 fetch &>/dev/null || return 1 + + # check arrow status after a successful git fetch + prompt_pure_async_git_arrows $1 +} + +prompt_pure_async_git_arrows() { + setopt localoptions noshwordsplit + builtin cd -q $1 + command git rev-list --left-right --count HEAD...@'{u}' } prompt_pure_async_tasks() { + setopt localoptions noshwordsplit + # initialize async worker ((!${prompt_pure_async_init:-0})) && { async_start_worker "prompt_pure" -u -n @@ -282,6 +269,7 @@ prompt_pure_async_tasks() { # reset git preprompt variables, switching working tree unset prompt_pure_git_dirty unset prompt_pure_git_last_dirty_check_timestamp + prompt_pure_git_arrows= # set the new working tree and prefix with "x" to prevent the creation of a named path by AUTO_NAME_DIRS prompt_pure_current_working_tree="x${working_tree}" @@ -290,10 +278,12 @@ prompt_pure_async_tasks() { # only perform tasks inside git working tree [[ -n $working_tree ]] || return + async_job "prompt_pure" prompt_pure_async_git_arrows $working_tree + # do not preform git fetch if it is disabled or working_tree == HOME if (( ${PURE_GIT_PULL:-1} )) && [[ $working_tree != $HOME ]]; then # tell worker to do a git fetch - async_job "prompt_pure" prompt_pure_async_git_fetch "${working_tree}" + async_job "prompt_pure" prompt_pure_async_git_fetch $working_tree fi # if dirty checking is sufficiently fast, tell worker to check it again, or wait for timeout @@ -301,28 +291,52 @@ prompt_pure_async_tasks() { if (( time_since_last_dirty_check > ${PURE_GIT_DELAY_DIRTY_CHECK:-1800} )); then unset prompt_pure_git_last_dirty_check_timestamp # check check if there is anything to pull - async_job "prompt_pure" prompt_pure_async_git_dirty "${PURE_GIT_UNTRACKED_DIRTY:-1}" "${working_tree}" + async_job "prompt_pure" prompt_pure_async_git_dirty ${PURE_GIT_UNTRACKED_DIRTY:-1} $working_tree fi } -prompt_pure_async_callback() { - local job=$1 - local output=$3 - local exec_time=$4 +prompt_pure_check_git_arrows() { + setopt localoptions noshwordsplit + local arrows left=${1:-0} right=${2:-0} - case "${job}" in + (( right > 0 )) && arrows+=${PURE_GIT_DOWN_ARROW:-⇣} + (( left > 0 )) && arrows+=${PURE_GIT_UP_ARROW:-⇡} + + [[ -n $arrows ]] || return + typeset -g REPLY=" $arrows" +} + +prompt_pure_async_callback() { + setopt localoptions noshwordsplit + local job=$1 code=$2 output=$3 exec_time=$4 + + case $job in prompt_pure_async_git_dirty) - prompt_pure_git_dirty=$output - prompt_pure_preprompt_render + local prev_dirty=$prompt_pure_git_dirty + if (( code == 0 )); then + prompt_pure_git_dirty= + else + prompt_pure_git_dirty="*" + fi + + [[ $prev_dirty != $prompt_pure_git_dirty ]] && prompt_pure_preprompt_render # When prompt_pure_git_last_dirty_check_timestamp is set, the git info is displayed in a different color. # To distinguish between a "fresh" and a "cached" result, the preprompt is rendered before setting this # variable. Thus, only upon next rendering of the preprompt will the result appear in a different color. (( $exec_time > 2 )) && prompt_pure_git_last_dirty_check_timestamp=$EPOCHSECONDS ;; - prompt_pure_async_git_fetch) - prompt_pure_check_git_arrows - prompt_pure_preprompt_render + prompt_pure_async_git_fetch|prompt_pure_async_git_arrows) + # prompt_pure_async_git_fetch executes prompt_pure_async_git_arrows + # after a successful fetch. + if (( code == 0 )); then + local REPLY + prompt_pure_check_git_arrows ${(ps:\t:)output} + if [[ $prompt_pure_git_arrows != $REPLY ]]; then + prompt_pure_git_arrows=$REPLY + prompt_pure_preprompt_render + fi + fi ;; esac } From 17e81f37cef664ca304966a2bb42f15373d33fd2 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 20 Jan 2017 09:59:40 +0200 Subject: [PATCH 44/45] Check and set `prompt_opts` when not using `promptinit` (#277) The `prompt_opts` array only has an effect when the theme is loaded via promptinit (`prompt pure`). Previously they were not set when pure was loaded via `source /path/to/pure.zsh` as is the case with e.g. antigen, antibody, etc. This commit attempts to detect whenever pure is not autoloaded via promptinit and manually sets the options in `prompt_opts`. Fixes #276. --- pure.zsh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pure.zsh b/pure.zsh index 42f43f1..146fc34 100644 --- a/pure.zsh +++ b/pure.zsh @@ -342,12 +342,21 @@ prompt_pure_async_callback() { } prompt_pure_setup() { + local autoload_name=$1; shift + # prevent percentage showing up # if output doesn't end with a newline export PROMPT_EOL_MARK='' prompt_opts=(subst percent) + # if autoload_name or eval context differ, pure wasn't autoloaded via + # promptinit and we need to take care of setting the options ourselves + if [[ $autoload_name != prompt_pure_setup ]] || [[ $zsh_eval_context[-2] != loadautofunc ]]; then + # borrowed from `promptinit`, set the pure prompt options + setopt noprompt{bang,cr,percent,subst} "prompt${^prompt_opts[@]}" + fi + zmodload zsh/datetime zmodload zsh/zle zmodload zsh/parameter @@ -385,4 +394,4 @@ prompt_pure_setup() { PROMPT='%(?.%F{magenta}.%F{red})${PURE_PROMPT_SYMBOL:-❯}%f ' } -prompt_pure_setup "$@" +prompt_pure_setup "$0" "$@" From fcd942622d39d611419947507b6b004b540d7287 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 20 Jan 2017 16:43:37 +0200 Subject: [PATCH 45/45] 1.5.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b7b7865..0e534e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pure-prompt", - "version": "1.4.1", + "version": "1.5.0", "description": "Pretty, minimal and fast ZSH prompt", "license": "MIT", "repository": "sindresorhus/pure",