pax_global_header00006660000000000000000000000064131534770240014520gustar00rootroot0000000000000052 comment=caedc6d277c5e7c4d3ecaa31ebe0b8b1c13086fa ansi-escapes-3.0.0/000077500000000000000000000000001315347702400140735ustar00rootroot00000000000000ansi-escapes-3.0.0/.editorconfig000066400000000000000000000002571315347702400165540ustar00rootroot00000000000000root = true [*] indent_style = tab end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.yml] indent_style = space indent_size = 2 ansi-escapes-3.0.0/.gitattributes000066400000000000000000000000351315347702400167640ustar00rootroot00000000000000* text=auto *.js text eol=lf ansi-escapes-3.0.0/.gitignore000066400000000000000000000000271315347702400160620ustar00rootroot00000000000000node_modules yarn.lock ansi-escapes-3.0.0/.npmrc000066400000000000000000000000231315347702400152060ustar00rootroot00000000000000package-lock=false ansi-escapes-3.0.0/.travis.yml000066400000000000000000000000631315347702400162030ustar00rootroot00000000000000language: node_js node_js: - '8' - '6' - '4' ansi-escapes-3.0.0/example.js000066400000000000000000000002121315347702400160570ustar00rootroot00000000000000const fs = require('fs'); const ansiEscapes = require('.'); console.log(ansiEscapes.image(fs.readFileSync('fixture.jpg'), {width: 15})); ansi-escapes-3.0.0/fixture.jpg000066400000000000000000001640231315347702400162710ustar00rootroot000000000000001ExifMM*`# (1 2!;%57ZiNIKON CORPORATIONNIKON D300 ' 'Adobe Photoshop CS6 (Macintosh)2014:01:19 01:55:14Sindre Sorhus Sindre Sorhus #>F"'d0221Nb v~   ,646464Ƞʤ4   <2010:12:31 02:06:262010:12:31 02:06:26Z!B@#ASCII "*(2HH Adobe_CMAdobed            j" ?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?m;et{S;o6̐:Gک60z7Em6}3ƈ ݋SFu.}47j&m=D-[<65ă9Ƚ 'Oʈ%qv`ੜqcl'N܇}9 hcrni֒kTD-0B 5GqcJfKqPA lIћc"-%RMUR#W`9MG3c]r3۱OB?x,dֿiJޡg:v>( [JԺ~ca q ?EtcSQ3?1C̽5oޟs/k+f1}Vo~'t,s٧!? o O=KW ٙ8`>heL>63+$:,[/qqOnwIm1i{ kFTrcm=U ;w͎ne;rHF6|n;E^3&=6 =[+V\ǧgNG6s-;.wX4udiWHhJmݻۻlN$hfS_ea\mC5k~jow~QZXYCskuuxUTe?V uAuz:9Χc?!cy ˴@l8\EmE6Z[üiUć `]hc0-ygҳcC tjANCrhkKAy"=YfnfETkcK~ƪ,!ִ ~kח>p`t8b8UH}5o}ڹ+s zxմD-1IU+*rn>Nos?NV^K>鲳ÏiVz 9۔dpӫ1U$zE *g% xCi*K, .[,cwUS/:?6}*v[jU_,s 45)D7:YAGbOW>=[]NF;ֆ9Z(g[Y9~7'*:oc[o;MĽ˽|Z\ۮ#xwзf17]uv077cZXѮseM#ǓN}*QKg]cY8[sCC;mgܷWg2&{Bn]i&GSq˛VXwc 78^*k+cvMyե4&Ɩk?L` l ~M{fDEėʢRWsXrhl~7^:0X:{M k絇-&5KVeUMٍ{[f+Yk,3=;ﬓTUSmƏe=ZҥB^;!?1W c _{kN좟K)a[mTǴuS[SaǰHZ?FYbNnGX nsT7M'dGJ@zssNyp9S*u{}/>Ln?w ^ NZvѣn'pl}-vuzNE/ hp>n/wU{c97a?'1g3[dv PfF\$ֵ.G3'n Uhh;Q {Sf ܃K '"Z'FaːY+,|5ww^߷kF[/SnY[lxٶKխOwⷕ綠%ο %ηhesz5Btgi䞮1݆\OF3gE'1u.zOs x:بtOٴۻa-wU<-ɢ's,}{\۪FQD$o$U]lG]j@qll5>mm[]ij:afGdvYWwROcI0#浞B݊PM_n>_Oͥ/s6X~?eiG}Պu*rj,2zg»3 c[[2v׸7oFNcjh[5޵U?OzC!e$}k)s5zBz-zUҶ7>55Ck6s]mEeۻmXҺk:uE;Gt~Q\A7&Uó11s.68oF ϶c}J\\ 72\UD~?ⷭ95.v\c!S?Mk>S-oSYh{lbb|vT\S[~5T7=G#EXvr3Zk{kQ?;Y9aZMm *n,tF1no Ltaɔ~ҫ:}[ԙ6M{깟K=T,;X>^oXhkuqn-O'(:.Y{^(LĊP#-Z=wuGAV۲*c,'.g?ZXv۲Ɗkc~}Ƭ4Ukkg{jp%@m{1CT͚[q F8}[ .QǠ_4koaڙHglGvg^규٬vRFmt~%յ/G\7nS =koV럱*4nvKhDnx9?mf} I5luLݿ'?H]n@~%~ХŎ`X?I߳3Z]C_̧9 k{6ߛm(zDVUz[Web,GOޑ&c(ї|:oN}fknF(.w蝳mkw+"ZX!sرpٽ/:ֳ̝?&͎lulٍ_~+QgG>8X9Y[y7~Hzm1|^*o]߭=u<މ}w=kl=BlR 72lk?\_lus- :G3gc9Vec>([ĽA!/ɣ)d]J}RMoEslIjKF^ڏյ9O86E5GkXmlީE5e=G\P:zjaەo[^.1upn/ ٸ:+ ]g8}7]iݎjvKk0ө 6:VS#<Ke/r_Ȁ]@bd' @AcgqoZ89c$Go\ ͇4n}fOd[B.M;H5;Z׏ Λ}&msoF9.o'ץ_\̂σWoPjMap_2Ȼ#-E\xUޟ:9`Zi>˘]f?@c4Txkm=?F..=P,{֗SєhU Q??&/5ObَAhցlv-uaSdXwoٺQѱGQ>ˊL[q\iiDz[y*({2uuݐQkySCѿ3=D{-Rmxn ]mdt4zRneOlcd<zQYSU:V7>ŝH$CZ۟N;k3Ӌ 3 m>f⵽3!Ϲ{p7:9%f~/kfvƺql']-&?;pW:U41_dCw.)u]3q`:H{[3g7'(i!3hc~vmelkK\.SX1eƹ?Ӳݻq?RKN&)m}6m!۷ BqbyNJv`E3 R1rG-h5@Iws6 ǟZ|j-"HuLԳ-7 X*7ޤ"4![~|$R%5 #ɲP68:= /o51>DK竤$j4VZKvAFѩK/ =pnw ֯I~vTl%Zu[{ORz3>I;P֠tԏPevFF'ճgsuU{]rV-c0n3$: &WZxnM@_d1ȓ`F ie>&8~IK$c; ;DO/ܓ[~K¿VX<~STُ;ݿz; P` !=zaTqf]mqo:5n`#󿪸znE.h<}&pNaC _~;NUDdzۡl*nK)h$@yX֖anE i{cjgmeV~"yUki^ׂKg܌eT (RKe5d웳Nn-l `^}eT:uD5Dd'rbÄGh]> -lVؖ$  7䶸Yz[6ƨ'BnM~NʳyMc=l1x‘ *4BѤx[My[XEr8rqoE~ o߾7} ,ztV݃k4~誝C3Iҫ]7_GEAu Z-_C[29!? .#O@wP6=Ϥ>ϕ ??C5zczWt۞É$6O ~oGwQvxzKJ Ums Wpx*O-|ѳVG $C +xe#Photoshop 3.08BIMZ%GZ%G(2HjWrKdeQf2NHfpXu1GtfwP Sindre Sorhus 720101231< 020626+0000>20101231t6Sindre Sorhus 8BIM%kOZ"8BIM: printOutputPstSboolInteenumInteClrmprintSixteenBitbool printerNameTEXTprintProofSetupObjc Proof Setup proofSetupBltnenum builtinProof proofCMYK8BIM;-printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd doub@oGrn doub@oBl doub@oBrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl UntF#Prc@YcropWhenPrintingboolcropRectBottomlong cropRectLeftlong cropRectRightlong cropRectToplong8BIMHH8BIM&?8BIM 8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM@@8BIM8BIMESSS_2900nullboundsObjcRct1Top longLeftlongBtomlongRghtlongslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongRghtlongurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM8BIM j Adobe_CMAdobed            j" ?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?m;et{S;o6̐:Gک60z7Em6}3ƈ ݋SFu.}47j&m=D-[<65ă9Ƚ 'Oʈ%qv`ੜqcl'N܇}9 hcrni֒kTD-0B 5GqcJfKqPA lIћc"-%RMUR#W`9MG3c]r3۱OB?x,dֿiJޡg:v>( [JԺ~ca q ?EtcSQ3?1C̽5oޟs/k+f1}Vo~'t,s٧!? o O=KW ٙ8`>heL>63+$:,[/qqOnwIm1i{ kFTrcm=U ;w͎ne;rHF6|n;E^3&=6 =[+V\ǧgNG6s-;.wX4udiWHhJmݻۻlN$hfS_ea\mC5k~jow~QZXYCskuuxUTe?V uAuz:9Χc?!cy ˴@l8\EmE6Z[üiUć `]hc0-ygҳcC tjANCrhkKAy"=YfnfETkcK~ƪ,!ִ ~kח>p`t8b8UH}5o}ڹ+s zxմD-1IU+*rn>Nos?NV^K>鲳ÏiVz 9۔dpӫ1U$zE *g% xCi*K, .[,cwUS/:?6}*v[jU_,s 45)D7:YAGbOW>=[]NF;ֆ9Z(g[Y9~7'*:oc[o;MĽ˽|Z\ۮ#xwзf17]uv077cZXѮseM#ǓN}*QKg]cY8[sCC;mgܷWg2&{Bn]i&GSq˛VXwc 78^*k+cvMyե4&Ɩk?L` l ~M{fDEėʢRWsXrhl~7^:0X:{M k絇-&5KVeUMٍ{[f+Yk,3=;ﬓTUSmƏe=ZҥB^;!?1W c _{kN좟K)a[mTǴuS[SaǰHZ?FYbNnGX nsT7M'dGJ@zssNyp9S*u{}/>Ln?w ^ NZvѣn'pl}-vuzNE/ hp>n/wU{c97a?'1g3[dv PfF\$ֵ.G3'n Uhh;Q {Sf ܃K '"Z'FaːY+,|5ww^߷kF[/SnY[lxٶKխOwⷕ綠%ο %ηhesz5Btgi䞮1݆\OF3gE'1u.zOs x:بtOٴۻa-wU<-ɢ's,}{\۪FQD$o$U]lG]j@qll5>mm[]ij:afGdvYWwROcI0#浞B݊PM_n>_Oͥ/s6X~?eiG}Պu*rj,2zg»3 c[[2v׸7oFNcjh[5޵U?OzC!e$}k)s5zBz-zUҶ7>55Ck6s]mEeۻmXҺk:uE;Gt~Q\A7&Uó11s.68oF ϶c}J\\ 72\UD~?ⷭ95.v\c!S?Mk>S-oSYh{lbb|vT\S[~5T7=G#EXvr3Zk{kQ?;Y9aZMm *n,tF1no Ltaɔ~ҫ:}[ԙ6M{깟K=T,;X>^oXhkuqn-O'(:.Y{^(LĊP#-Z=wuGAV۲*c,'.g?ZXv۲Ɗkc~}Ƭ4Ukkg{jp%@m{1CT͚[q F8}[ .QǠ_4koaڙHglGvg^규٬vRFmt~%յ/G\7nS =koV럱*4nvKhDnx9?mf} I5luLݿ'?H]n@~%~ХŎ`X?I߳3Z]C_̧9 k{6ߛm(zDVUz[Web,GOޑ&c(ї|:oN}fknF(.w蝳mkw+"ZX!sرpٽ/:ֳ̝?&͎lulٍ_~+QgG>8X9Y[y7~Hzm1|^*o]߭=u<މ}w=kl=BlR 72lk?\_lus- :G3gc9Vec>([ĽA!/ɣ)d]J}RMoEslIjKF^ڏյ9O86E5GkXmlީE5e=G\P:zjaەo[^.1upn/ ٸ:+ ]g8}7]iݎjvKk0ө 6:VS#<Ke/r_Ȁ]@bd' @AcgqoZ89c$Go\ ͇4n}fOd[B.M;H5;Z׏ Λ}&msoF9.o'ץ_\̂σWoPjMap_2Ȼ#-E\xUޟ:9`Zi>˘]f?@c4Txkm=?F..=P,{֗SєhU Q??&/5ObَAhցlv-uaSdXwoٺQѱGQ>ˊL[q\iiDz[y*({2uuݐQkySCѿ3=D{-Rmxn ]mdt4zRneOlcd<zQYSU:V7>ŝH$CZ۟N;k3Ӌ 3 m>f⵽3!Ϲ{p7:9%f~/kfvƺql']-&?;pW:U41_dCw.)u]3q`:H{[3g7'(i!3hc~vmelkK\.SX1eƹ?Ӳݻq?RKN&)m}6m!۷ BqbyNJv`E3 R1rG-h5@Iws6 ǟZ|j-"HuLԳ-7 X*7ޤ"4![~|$R%5 #ɲP68:= /o51>DK竤$j4VZKvAFѩK/ =pnw ֯I~vTl%Zu[{ORz3>I;P֠tԏPevFF'ճgsuU{]rV-c0n3$: &WZxnM@_d1ȓ`F ie>&8~IK$c; ;DO/ܓ[~K¿VX<~STُ;ݿz; P` !=zaTqf]mqo:5n`#󿪸znE.h<}&pNaC _~;NUDdzۡl*nK)h$@yX֖anE i{cjgmeV~"yUki^ׂKg܌eT (RKe5d웳Nn-l `^}eT:uD5Dd'rbÄGh]> -lVؖ$  7䶸Yz[6ƨ'BnM~NʳyMc=l1x‘ *4BѤx[My[XEr8rqoE~ o߾7} ,ztV݃k4~誝C3Iҫ]7_GEAu Z-_C[29!? .#O@wP6=Ϥ>ϕ ??C5zczWt۞É$6O ~oGwQvxzKJ Ums Wpx*O-|ѳVG $C +xe8BIM!UAdobe PhotoshopAdobe Photoshop CS68BIMChttp://ns.adobe.com/xap/1.0/ Sindre Sorhus Sindre Sorhus ICC_PROFILEappl mntrRGB XYZ   acspAPPLappl-appl descodscmxlcprt8wtptrXYZ0gXYZDbXYZXrTRClchad|,bTRClgTRCldescGeneric RGB ProfileGeneric RGB Profilemluc skSK(xhrHR(caES$ptBR&ukUA*frFU(Vaeobecn RGB profilGeneri ki RGB profilPerfil RGB genricPerfil RGB Genrico030;L=89 ?@>D09; RGBProfil gnrique RVBu( RGB r_icϏProfilo RGB genericoGenerisk RGB-profil| RGB \ |Obecn RGB profil RGB Allgemeines RGB-Profilltalnos RGB profilfn RGB cϏeNN, RGB 000000Profil RGB generic  RGBPerfil RGB genricoAlgemeen RGB-profielB#D%L RGB 1H'DGenel RGB ProfiliYleinen RGB-profiiliUniwersalny profil RGB1I89 ?@>D8;L RGBEDA *91JA RGB 'D9'EGeneric RGB ProfileGenerel RGB-beskrivelsetextCopyright 2007 Apple Inc., all rights reserved.XYZ RXYZ tM=XYZ Zus4XYZ (6curvsf32 B&lAdobed@     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?ֻ|=~7.hdG IVB??_sQQFź%pj oB}UܻhP6(S9oAF`PF 5ӟd+q#bkkOB6k#k*,t> wdae+jw6ꫝ機-_!!`YCiqqn?[<8ہ@q?HJj_EY=PA!wX6ulEԟKݻ]mƆr<`̏N zgzuRM=..J}zQ%Yr(../pEQCmYe)_.{]i81 {tA}Wb+j,zdNO fH`q7HW-L 3l2 a%#\g!&JNȫ%(tT(c”̊Ct*lSԗJ7ZPI?.{|lÒAicwjThbFIoQ`Mc6$lh +z]Ӑ9 `($VFӲ~DQv lSSR׈BԱ\7_#JT}l~=k9oiEB5>gMjMN()dvLb'ެ$FEF!_ܟlb0a+.vqedy qEz@s|6r9d&G4fֿ /aF+ANͺ TF1TGzÂ]kXrIO<`ycoowd!hGp>_Զ}/YU9!|Vs NG_$ ood鶭(_Qc7#ߦZ@_# S7T0UUjKh@'ͽGːxa4w guv#m# @1=OЅnw489owo-)IXꩠbUiڤHr eI>8 VKe,3U<*|kS|V?>RD1T1GtemU--ØRh`@$CҤҳi+msZ'MJԊ't[n3;L^Uˬ^6Rix_?-~µSKk"rkFzYTn؜&*9>=Xt芞l|N;hIJ 6[FTՙ$7zuSř@N wn<l!؛5+LǷTج:=i:|L\+, yhGStc"r3&tǯШLWu/cBnO-C$rjՄH${1q iz^/C:l˺l0]dj>](zcsE0) dQSYZ%~%[CoVoyӣX{YRhɤ|"s?+~g[q_:[:yNf7A;)i<Εnӊ;{%5 v-AEok=!sЖF >yuZ͗p)*YfzhZ$H!_Ž(AOOVEIER}sbv6frVaܒ  HSMxJf>Vp@UH=Β&ԖZ ˧Mwon?+efy` F+мMXFB/|}+mxmۘu,_1O?}uyZ\73Oyԕ jM~~2=ŪVRk|FΖ\ъ>4_ c{cꫲR>?TzcX}UlI#fޣ)"Tj•_Bkİ9ߴtyꇒ^#ƗCQ6Q&okuU袲C5Ԁ(ωWD֖p!w"QBH yӉI=^Mh4;fiϒ'WMXC:+2Ik-s$iP~ϗǣ}KԓpkǴYIJd_-Exz9t{lc)zpdC&^*SMvE,R2OX[:7q{#h9ag4+$t:e]SǶG/1K.cԑj5RʰQdE>GtJmeT-&SrT稒H"dӭ)SFvs=%{6u62|Hb𚌪{5+FAsm2m"H.*)&9&F'.fvo*=OQ=񲪾\:zvع i+*)Q5X>\LnƌȺepJt>r˻s^/&p*1Q(BiPXQ8o&7V̏Mjh4ra QFi?6W>;um-ĐMOv'э/h[q-IdPԊ%1P ҽXg;QaJ?i(YƱos%Å*p|T4=$dRmY[if<;ShgzT+IM.RN%2:Z?vV7ZxF-PMb$bM*OxЧf]2\.@5BsV9l^E;r]b5S ꨱZHUxjcq4#ǰVK}M<+#]hUiyXSxn=]CEO;}& [YPd$1rZΤ>U=n z_GhS"HZظ{_5+\0M4qPu"udpl¯>;Oj}KON2O7pC<4R`TJ#B/)^5* #ȒNEz itU]H7/x6c$m<=&ctъzv'"*5= }Ue>4aV+_ą?:cKN,GʾY_';S [CҦ_oV`z' Z*)c} P}-[$˩ >mVʥLu<[ |t䥖{dUUm70g2t']fmI6/kkѤHNu/.=" vKHHMAP@$ `q^}yA:;G}%$2K,|i\~}|}~k W$tG/=^n*R$q9b1P*: >yz eHW-z OEO/Ո_ٮ6,&)WԟN߽]N=Q4Kڛ3e@ׇCeWܷ>MQvfNrUa0Wd&(%E =J_&cwIm,\x[ »cBH´$}ݷhۮ7KcOUWZPʊA {L]?f͞`67;GxōPf㢣JS+4~@lfWUI'#牫wܼ(n7ّcA&C}2k_,Ӣ+e{/fa{p`[goǓpҜhrxD&SQ+(bl,A&mb\Mefm!YkNlyuq[2Nss9dzP(rpjkZYnF'C-@44SsKx_qKNPJ- Dԍ 8"~co6D5@*+A{awn,Ucv* T®ffَ˹XUI 1L7K@'ݞ@ T|5$Rwku|fO >Ȏ_nZ +M5ǹzŨzHq*DU#8QFoidU퀑I1/r&"Z㲊N?Ԏ!b<)d&ګQ;FQp9{+zƴDsḅٞ׮bf<}j xI7FC!A$#ֳMk[zZTT@}2q!8BOi/e4{ݓ3s^6Gjn \̕;z%S5J0*50{mH1GըB㊏3 +q\D"ըj)@Wʕ5#튚YjejewfbܻOM%|Ըmb1}!ZMY25 }"M%4 Hbxk$ ,ƀ=h+N>V;6Ù ,uy|o(Id7/)^ҷYG ,qC0Em.|GI)"-(uO\Ӆ}?ҮݕRQ`%(-KI5%Y|C9V _֩3JB=~}_ky/Qʢ zV^\((8|1hv-$24~IK;|L{z-Ht>2~JW]uv}&c6[zmPOgDWCq9yQf8෻lH$o|WIg%B<W]{݇MVES HT 2-@ǻ١HE Xֿzyrh#A ξ],7ܽg^E\z:ܬqX$$Z4BEqB] pEp:e DcS}=qҟ>6yTHqI]X#gx|>_ZƷ`y޷Ic5R^AظR`6,ΙLhԵ5! YY*f XۀOJHd.E{q5i]X,Htюui?POFN O]umԩ%M3:>v$v;඿cdixҬ ?u`JlBs.ܩ:q &RQMӳqTnjm&Qj>(Pv Ra9bImRHV9L!Z4{Cn\8Xn&["Q\UE*/T.|S8Ty⌧IYcQeT sooo/dS$} _F j>ܹ϶N" _"P?2?+7gM&wkerpF:b :9I(}p|Nd@%2uTQJ qL~c5D Rr1ӟi&߭۵v ɔ;#nl] TJY{j2kk"0*J}1- 6nN6[gxR/tTl!!ԁrėnЪDcO%B#cTpc\V̵^ڝ3w޻ɶ6k/8В F:SQtN5 w++wXTp\~XnYZy|]xbM,)3xtllΦW}%%N/ RiFA(4!MTe~ ZL'Ayp-q'_1gM>; lh8ڊx1QfqjJLsjIH7PXZ*O?ʭf f'c2jhLtЭ)!ԭa1Im~g63*Ђ*sN4: ͶO0>:`N3ÏIxӺ+<WW>_q 0rF=L}mMU$ĺDKbm?w17Z83d|ɥ:)Z[jz" ۲<{PǟEGY@t 2L=zLJHϳ;>`RevMX4$'ΝGW\ g% bBƞߕ[1IKp8Jk2FjZ,(C/LɅFarU{8k_if$$[J4'={.4р8rEMZuٹ廢crtXXlo}-6jiRI"؁o[Mmrnn#dUW4:ᑛ V\rՋIG61Щ'&U\ca.l;svbͳ$iq4:|5n'*vn5 q6:s.բI923"S{|ҖܿGGYpmTUT, VXԗ^[+hYh_ve `v,oGFX5H5d豻3S\5>ySr{2n9ط-U,[ cH}`ٝ!&G(c8 UIt"yyQot1I fЬ%Z괺.n﯑;qǾSv^Z 0U޻ʴjZhfޘJEIm0W+rZ ܦT*(05h*IZ7{wo؉B+p?2h]]tGod+7&0G**:^2h.Nr%҈Ue,e'C-! 0)g]xnX3Ej#Zӡavgi24c,qҊz[+[’d %V)T2[I{mbŌG^#zʐh)S?B޻rI%?gwVSjp+<Ґn zD䘌8෌g3fh8WχFBDU(?/^$۠;Zvh*j-A,pͦrm3Pw lBaH~H=uԫ?]{O& 6}*hwך|]3SѬI_Rx[ }se2J ap@ xTVUã/otnshu+8өq:PM \[iv6?iO75>Z8m5kLGWEQ*BѕV}0C<*TOO\Agf=@ ּx~UͿ.N|e1ghvn*jZ5%LmuP8 OZťT#+ KY8QOAol=,tHI!5 ipy-%] O)?MkSJ>oz=aJcb<:P(*"jVXtȓ/cͿ6'مI?/1smP)CPkN5>fmLuF-zf|EB=KVXJS4Nt$hٿxnGlaCW̟CГg=;>1G QZIunN+O$h5]W"zB״J ܿq;=(70<ԆzJZ ]f&2T+(F3Con-m7njH: w hMiǏAWWoN妇5ȥ:r|sT f6Vy>ΗY&m~MՌu͑ XpۋGQUnߞ7i7J'#(ҥe{ݓrNO hMh4k^bKgU62NOQV5|@/A|X. ϱw d}1.lz/1S56e.XS]5ܘTUՐ8XϨ3SnioyF[X,X=m$W+ğ"om+Ja7kŎFw50HѪLu\gп}𽛿h759|%ln{uKv6b\=m2@10]|,&y;i`-Lp# >*āc'KwV?2H;"FBAanM?Vc= Me;k6pa]OY_5]72%"ɘGA9 J.< [ޞf{Y.xmn QV"cԁo=ͤxN\Y"F*X!ݵR+-J-ט[vl~868,]{K,']csx3n:̆h&YbdǷZ7^"}H]VcW1: sdVV\ˆ.TӨ|1 vU`B +=} 7KU{>juY79mNغ\LxwՍY(Kӭ0$TV;c?a({%G+N$k"sօY]@R 7Fpuj۳+yW'az_+{~bT1fqG5!TPIM !C76gSO7ΩuK3U$jEnl7qw=c%p "@2. aNSƁz,uwtLk1_쌂Ŷp ^ #Y< ?UL -Tӻig?Kv<>wH$QE q@m!".TW'}+Ob=}v7)&>vnP=$l8*4ǝ+Vlc+^瞗hj-ٗXiTˋn,i 먷}r c_) Rph<ٿ ORڷ=`4{*F .JC/gLbcllTFR*Ǻ 8&+pQ! yyPvk]uxT)zGHͿ[HŲxQؿ-Zz{/pr䤩߻yTvG[$a_ENCLt4I:tobmelH-NjxXRz;O-s,4|`(T׸Uc°Xgo$j,e-,JGc/m'#@Ԍ犨SHqZ>㕨L=(#oy˻T^\=zMAuVU'QJؤft2Hov6{ы 2~CMc6 ?k7 f9z&2![Pd(YsD_פ>頊CW4>ck[']9|Ћ}_ټk(7uVN{Tf) 1_dcH6ҿ՜ 9nA6[J4gHԊyn&SRդKWbϕ:L@|gL>ɏ+K ڛsKK41bw)#O%xTZ_A\ydH AQtQ89ӫ=/0Ϟ]bW=ëRdjne) +--Fᢏ-zA%TxYk+M)5x 㤕P({H<ѥ3JLk`}r8ӇGmnm7oWoz|=+/Qv\™Z|u+GI&K ]AOF>h!)sh=k ,MM ^[hc ,mi\Sq7+ن韓h Şj1>7?%)R,+F]* ʡI["l[~) y"fR|SUϨ|ՄRM HBP}̒?nOFab{ ?Y÷rU~pb%7WUEC75mmΙ# rNnoo>T5 ECqk;&j0MON=sk|l$*0M[jm]9ǃْPvno98m_|ciq$"D@/y4c>"#*<"@8i.Eդui].4J, hHφX %ӢaNvƞonoxKGer+ǵ([&q3UbSώzSI:nMI6l^a /u\xZ̜$Wlwda'ڵ!(DYIJjާK#Oݴ&/7xkcyߍ2#;gifؒoPg6H6qBJ)UҽڏhzGkM 3A1m:xh?WKSQkfRvik}M&PW= I *0d`ؓGNxq:'Yp#ދemMڽ}$K%GZbi-24y?0>s2RG"IbE>X:2w^_-/b5B0$- kJ289ʪͱ/XujnCS{&!N'mŃ*cTA;aQ[ p+GGċk,Z)f:a4j"Np½- hv^ iuoU5gXl}Qccj.ԢIP1*y&[oMVI^@$騍s^$cCDN!.Pqlj?g.nv=-oH]05F}`a; tMAC '#vL}}MZR2b"{|捾øujO+Ѝ&uPעt>hY#V/T$ Noxm: ,bmUD̜`ݡh]OS%e9DRdtgTVH{JI"$B;~gÍ(I!XqHFk^/{l]{/SÓnڽ [szSc>ruUyXL5TzI29Cwv[o֚ 7|H FP TMrܖ/ C$]"+_Thz&{V|-֛3Uvh׮(w-_Rd)]Ih橃vTҴbJO*ѸyrElw;U[{h@"DjIZ0*=lg[O2?9@YX \][˸ ="uC(xůѸec163H>i]sҏ) h\/S;xmn H77tnܻ,d}qi!k5F&6_$A/e曭`oV9Ooc,~9%yN#AG[4;>ymE'1ݱWXYxQD\o\Tg?x v6&3jz.OiϹ8F5q0WKR$kn7m}U,,Gm-^Bed:J%EOy'|L;~4_=&xAҀ;4ǂPvȬE66գSWW]-n7 Q ǟɴo{}BBkP¤+iΚ G:sa%0(Գ] |T)Cp&M_ Mї948i9-ùIemEW䫤tq=%UNu &"j9hO!ߖ7[ d#Im`Eo 4k3~(-?sRh~@UvLؕS;D8%J,QģX)EfG4 (?椵OWIK=f[X$?i]84'Q[aiNSA'X-+8oEj? A}QA ÛlgGW=҅9|ɯY-R)J^F*fUFڴ ޣڡ bON2Kqi.iaOTʽ!H(5H%/-KJNEO7ͭ/x4?;vnf1Xf,OSOXM+*ؓ*n4o>Q8t7 o1p7DlnTaTyȼ&QX?&8;ZJMH'=V5N쟏45U5F,;eTyjJS,5b&tP$I`Bf7]Oc@}jCik0*Si[ۚMj*Q-NQWrchW b顣hLnC#E5i-@i }si+x5du3wV"JAЎlF,PJY9]dXbJ?':XP-YjPkϿG͎b7<8jԮA_cJڜ&T$hjye-pY]uC(&.ƥu&>{MӞw{].VHsPkp+SO!_[M:zn ==]^G0٬-fXZF2TzI6y``D%~em"Sҵ'`蛝9f͏pu#=;KH(X2 l(ht>쿃 7%w[O[no3hGTK%BO>ԟV\۩xZ*sGSwDġ|x`gilH WRHǕuܣV "׸LTTYWbf'SEK__O)ݻAUP`q5BfT&+H.Cߺ[x.Zڬ\ke (V Q*ӏCC0nW{5&dHTi Ilj@Oͽql}-UqjPrTSC"K ! syhd>{5U-\o(ڛh.H4t)CcQǁ蟍=ǝg!qt>|^5W㔻G-uM->8mlMNgH))V?#F0Vb .UM$#Yi*JI Wv۶_ݬ2H0hfg Aݩph=ov;kS27ff1$le+FLc(\n,#!@HUV!{FL+Bi+c ȱbWsW!W@h߅]}Wtm#t`sSЮ^ʟmP)29hRz95TK{놸"\O1>>m4LwNN>S ^L[ΗvCI{]蠓g6*|GkT=;U"5+v}aܶgI7&#adb8.>!]/@{JՁ>>Żsw]lo} x|f@MT1f'VUMqлOw}ؽR-Vꒃ(l#>x #KTDBI'^ x, 4&:5}˙v;gy6XăC $VD/? /(2xl~h{4qeނ]G +,ۏ5\Th3#@h6}˒_)joR$+HTD:9.n}}j Ɏ@u]47r4>tv7ʰ>G51elݍAEQRftTTI"m~Q]KU,K;-kesJTsE:>ބA)X@C4PNukn;`sIQU ڟvcfCLc )U,#I ]>;'jʲ@ef%\kͮ$EXҴUf'{kt XpZ%,;P ;r~uǀ*3C'7卫&iJ(|,v-rˊvCAaid)aildw%瘂i槱SnղA 2ym^b_T%F7v#xXW#'q%J)"Gqhwzj:BAm=@K ?H ׈?|>変2m(G oϷB+JbU 燞:E J]d@-SU1ӷ6rM_*ZOY$G?)z S^/gФW Օw"h]nS)Q>?$oj[`dYv>Y%z4kj@Ƣ<:e3t|(Ze)@}'ˎhduٔZ{x㈨?t \@vbF8?goVvVeSl^n :*+hIj.6~E&z)3J t*E|Qu}L TX_":cYu Nס@\zvvɹhq[|v+AMfm,?gATM4 H:qye1AT/p,0n4Qzp0:/1[Sdfjدia{E݋ϊ2㦆Y*^2x!RZ\py~{ UT<Fq^'k[9ߢRc$3!t'&p:CjG UI]$/ PWPRUZxѣH3*]:nVgZqa#INͺ[,qe"3-  P,2;Aiռ|ܝ+hm _2In|AkғU|P%UeLɞ|;ѕڛTvdԷ;~ͶT.g* DmJj88=\'ΚxlmVWwo}Ӏ}nG/J|͵QH3GU xՕasMטy~!F4*Е*54)߳){YfmA@=C(Mrē^;>w2d6eNږl&uJ盪ybI"8RV[9sxAmwy6V]:|jqSƝ7ɻKmorwhtPB~!MkQ_1]~|6_x]6Ly6;san7]_RE vN 7@G{aqXڙYN*\[sCG$LȫO#f!t+j=`د}chgXT(HU$ k~/omm;wdޟ5*ecfrUT69/oF;Fsl睳.X\4BZ)Ln4s]{M2YTT"5T$Tb?8t~/SnX6dtY\zT'Ir:ŧFPBKhܻk{A23P,+\?D~qkk) ǩ@Е N0G3Ǫٳ(N* nzT,\3@2 TG rˤ #Ďd1n.",e< ֮3FSJ = CV)Y䩔EgHm#gumo3 'jT-Px'{oʀֺkA],0I5A閺#R;N4 5DFwXP/F{X@ Rtf(ԧAziE^X8LW,kVKpAfn\5b#Kc Ӧ:ܜt-MAH" kiRX(Uj" kѭ- |5\N~"Soo:jaP?oKW= t Hd8,kWcc>ۚ4}xt"C~m Ȁ q YnD+i⨀+IDF 9/o$~{3&zh0j@OICFRKB7ق R rtYInmohvWN"#Ckb4Q 3N<OLkUl6s+di5Hc1J7P|oda[~QKq_Ie.v50s=>G% <l<nbkz5ܹ: 5RDy)96kugIiQԕ5vhUDϡ=몝ӇdD+=+% Zqd8):!'is`[+j?g#UgL+P `ny>]Hfܭ_P2H;Lk M^ӛ!DۮKV`IFbQoޡeOsqWabuc^ݘ84ŅQeiJu'JH~&&ۻX.X/mGԆ22H$"udWs%L,!RYqR5JtV{ٳ;>!vnF9wVJ5ylIS,n~J X*#_iaS !n?0HdO@ۓ[+ƴBZtJ 5R*1ֺ̿g|dݙ |L *O]%|9tZzcU ?v4jioR{GVR=ح'70 (ͱJ 5sdE5L@sJU)Z`gנ\l=du"A(Jy0Mc( o=,0c?^ᵆ)O}~^OJqټee6v֛Z0e}=%%GRSd19:rĭF 1^U$_oV0X%rpzZe?ml!cͼMHY^jF^X uy8Z*t*$㩧1GQ WMԟak0HufC?} ^7Yw3EBN]|L6;¡4 G-,1s)S(MM( '@qg/5~ݧ{VGuiew670Vb Ū& Y[ݵn6r񲢯{4c%{ۅ*e~3V=MMե}f[᤭.6l8zƖ[lqh/$̳!,AgI%PqIo6t7p0 T*MIZpm=aI;sώMw 6|@1!TSWPRm}&mPʥ W2 sѲPiU@S;7pa2swtu;s`ۣm`t4KWX޴.#[YdUIR' 20dwW#\YXZ$q\k54Gr!Pz_?>$VaVSͧϏmQ*vF>s-fFB*W'MQNo2lݎey`\f񒆎RctrחDD @ 1e,Iנ 0݇1պ׳=4y: u*6چwx骩i: :a^V%}[̶R5yEpMx]&Mrnsf1b 0I99XoM_2; \nLAUecVW׈Ꮄ}%T6bH`( #?>^[ߟpn >1@Gp > ChoevGc.;G}߳{>ۛ6]&;+xIitO C{k7gwIOu)ϧQ{YloQGG>Tv>Ω$moOaF'T>g3UIQD}jJ˖EU t'G[xikRS^B|P6r)n]\rv>R#I F Wn{G;d55DY%U;TcieDט)b4I*MH7{g(A-@s@T5i@+MÓby~PUC[;n퍩OY kT8-$0scV|R \Fu#;{䲺ܷxbܧvwfr !T|!@HBnٯPy$*;%1=ƀ{wsRw4I;449*,'ݷ34ZIK ڥdf:Kk1>p3uE" J<4|۞ML\me:X-}C<{$cV:Ʈq^8gޜz9{.8#+?+NUce$3X~,-$FLg_\'gF*]rjOSF"8J"h"v }HN<+`is8S\@=hGJ0tlںrL~FIpnbT{V!KQ*9kKxI4#/oP袋xbL?DC%N#i_lX}o\&餬G﹮ ܏P'HiO#yDέ[=EVGMvXF =5t&=1 iqP)ttΛv\/$)N3U~}*6լgMlf⤠,χ[>ӯ-%ܖCkҕ8cynsi *Vz:߇˓}ocoyY6hGW3UNhF[=WiBH R=>2ɸej.T|| :ݿW}-Gi1qA_(q}Q*䞂4d jڍS6-k9=$Jd<{-Ɩ#Ò ! LP?3fn&p4hy%R8; lԟm[/ǻ oihMI4O|ςX=L՘&R$1I%$ AΉBG_l OC{Ϻm1*=A.~3ީ=AvXu(!h:\ GHH&Cu-Ԉ ey^GH8)U9$/ {I@F©"Z0aFS @˯}Ċ zevv4yX$X=cLKAEhx)'Is6(e_ԝNߞI?KSn23M%Qiv+O2zCX8)wGo*\rdੲ"A'RF?N|}YfVY-GLkы%(XC% iʴR3QJ%nvoF5.gpaN:(D8{jɦWS~C"t. QW2=@c yWN7Tj|vE"Ʒܲ|K/96w[{EF4.^RWZ V5oqkw T=ޞ}v^`DRO4??\cH= |X`ij]#p:FP9݇iX:)Mw,+GVn=.i`eQd!Si#&atכ εh?5=Hvy;V!EX8#sڙR2$ SJ=2~}[C~]OOip?:@dadcx[_l•k_^=9nxhTiSϠO[leaU0K%)e3奙* Vsqͫt{KU*r[ȃg,0eIP(ɀ'kxiSghCkU2D#\5b4Сb\>;X]M;R 8_^p9O|nƒtxTʱTU!QA ާ*:\}h@WğHm7P~ukEE:z~b764 1׫ޙ_#Т֢bU^>vݻk-f?Q>m؟7e5%D̂ZYcqF+RoGnggۘSorxT' SҞ]\W}}K~Xw38lZ&uY/}WkaG:JX5tKbk$&Zy|Hk6nb>TiNjWˎ7'^C{)+2Գ"5DZ&q 6MHHn _JvgyiIU A ֌8҂Yv;tːF&+Q y׿$F=mgYn<{~bs;{mr=A,uTH9-^?w`j#ⲘMMUGBJnR\jAF8pG"\{d>4IŌDH85UQ6h=.}Ԕ}q}w6[[؝19 (M~Opcqg%G)?yKk{u32D8>wOlg/lfTe+SN%\t9UM.e \yԢ/̪)Q-s:L{E1ZpSV}~5bSXS?ݥ(ûϨǘ1)RShS0@gDf1˨u#tgaO>kt&um8ʩ1jM :"0{+ݾp_EԤ~ϰVf/"$& r7nz f((l#OUSl'#yCԖ|G?>vˈJiȏUݸ{y*05+zY\#0G'n嬫5FT/p'dש[73rQKOGSi2##ҩO$=yNQkno3 >m]eMq !vRWid庼2ꍸopO;$U;GhK_2$)=֥SZ>ucc&rhZS<.ſ>}bv6=37یvQ#™Ru]ok"XRBK}=2v,M? +#-"1zr#yj y<9C/r:Bj3/?ak7q2?>gaa2`UzsOQwg_WiI388B»)MsnevYsŔ2P9"b]-h  G #Ђ^.ןyA_$;{kqqYڱLO- ǵV"Oq]|E~}*umwi<_F)vc_ "%+i 3E%I7fGPm{yu,H ChyrYcUs埳K<l2[#R I=x<FoӤqC4gՕ*S>vI ܪ>t :tؤ@ǬoM_QQO,lR<ۓ׷GBz"ZA݋ٗsait:XH;yD760a4@ԍ&*9ߟ2S%mϳ+=t`zҀ~6Ŀ74Y ԲU)m$եj6S֣37/F Ex>sO zIJjըk@_b[= J&_>kUc?oD,V5vM##XR$-IگQfSg6߭kcn=~ߟ#֡L<Dm0$uvr}顽#ԣs{tsN/jWS,Cv:ΠA!Ը8s5kTa=WE2Qݘbo6?m!$-+Nv!7`zӥ&w+,*̀&ZC\6c8X3 QQC``z2-WDGZ_xmHoHr׆t5QJtvkĕ">u:X\l}6 BӇKaO ?/!xh /ǝP&pYAԿ`A$R|^_#Jۭ2 FUS|:?Jz]񄂆l9UUK2̀!?㣛Qg](VGxip?6M͊l.R# OЯٌ{EYd/ Oe_ akS|t g~MյQj u ?PAoʃ@3yCjTG;oy1$5 d`S?>h 8ˣ-4Lǁo?pϡv7ݵጥie1$$Ah0\>0K=<=GѹlbdeOVPK farڭqv?A&mZ чIDFZhQURi}A)^4zٳM)d^8OIWyt/o XX0y%'mc¦ˣ=P-A=.6|xZI?ĪV"BJE՜p1u(X$ +!9gs18'zL"eH;4p*FbuxlO>M_TK\3`Ok ]b>p_43iQI]y`(E:D[m$: .5pCU7Pп@HVqZ t;" ":0P}&~}G3SCx%q/~}MvU Q+XkB_z#jOyS7v0GQ& *9GM6bhˢI剘㻍k-4d9@ƣ^} CZtYr|̵{~tƪ^ֱPloR霎P~ӇuORx@Mi^%GϹOEM>U}Dox|?nzck ;k76rhiS_JވB>!U\iL:5rc<;D_r g|R-_&iQ 㕾}-D_}PP<g0HHM(<,Ӈ.Qւ Tr)~}0~Y*pCn_k/΀F; >idX_ǰ^&xj(򯯟\Ĺ1Q#T CJԀZtwc^gEzg>|T}kImVI25tq?c]Yz8\0?uOiRE 1<-2[3qF~ue<,P9ϣ @1x2{OxWԕY@P?KS +j:~_i;ūO lʚM??5A*5]mQ_-YoΪyAte/Ɓ> Ϩ}u5-StEO\ƽygstJ[z<>oǶWƧwO\f-M?Г65c'|@:ansi-escapes-3.0.0/index.js000066400000000000000000000042451315347702400155450ustar00rootroot00000000000000'use strict'; const x = module.exports; const ESC = '\u001B['; const isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal'; x.cursorTo = (x, y) => { if (typeof x !== 'number') { throw new TypeError('The `x` argument is required'); } if (typeof y !== 'number') { return ESC + (x + 1) + 'G'; } return ESC + (y + 1) + ';' + (x + 1) + 'H'; }; x.cursorMove = (x, y) => { if (typeof x !== 'number') { throw new TypeError('The `x` argument is required'); } let ret = ''; if (x < 0) { ret += ESC + (-x) + 'D'; } else if (x > 0) { ret += ESC + x + 'C'; } if (y < 0) { ret += ESC + (-y) + 'A'; } else if (y > 0) { ret += ESC + y + 'B'; } return ret; }; x.cursorUp = count => ESC + (typeof count === 'number' ? count : 1) + 'A'; x.cursorDown = count => ESC + (typeof count === 'number' ? count : 1) + 'B'; x.cursorForward = count => ESC + (typeof count === 'number' ? count : 1) + 'C'; x.cursorBackward = count => ESC + (typeof count === 'number' ? count : 1) + 'D'; x.cursorLeft = ESC + 'G'; x.cursorSavePosition = ESC + (isTerminalApp ? '7' : 's'); x.cursorRestorePosition = ESC + (isTerminalApp ? '8' : 'u'); x.cursorGetPosition = ESC + '6n'; x.cursorNextLine = ESC + 'E'; x.cursorPrevLine = ESC + 'F'; x.cursorHide = ESC + '?25l'; x.cursorShow = ESC + '?25h'; x.eraseLines = count => { let clear = ''; for (let i = 0; i < count; i++) { clear += x.eraseLine + (i < count - 1 ? x.cursorUp() : ''); } if (count) { clear += x.cursorLeft; } return clear; }; x.eraseEndLine = ESC + 'K'; x.eraseStartLine = ESC + '1K'; x.eraseLine = ESC + '2K'; x.eraseDown = ESC + 'J'; x.eraseUp = ESC + '1J'; x.eraseScreen = ESC + '2J'; x.scrollUp = ESC + 'S'; x.scrollDown = ESC + 'T'; x.clearScreen = '\u001Bc'; x.beep = '\u0007'; x.image = (buf, opts) => { opts = opts || {}; let ret = '\u001B]1337;File=inline=1'; if (opts.width) { ret += `;width=${opts.width}`; } if (opts.height) { ret += `;height=${opts.height}`; } if (opts.preserveAspectRatio === false) { ret += ';preserveAspectRatio=0'; } return ret + ':' + buf.toString('base64') + '\u0007'; }; x.iTerm = {}; x.iTerm.setCwd = cwd => '\u001B]50;CurrentDir=' + (cwd || process.cwd()) + '\u0007'; ansi-escapes-3.0.0/license000066400000000000000000000021251315347702400154400ustar00rootroot00000000000000MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ansi-escapes-3.0.0/package.json000066400000000000000000000013371315347702400163650ustar00rootroot00000000000000{ "name": "ansi-escapes", "version": "3.0.0", "description": "ANSI escape codes for manipulating the terminal", "license": "MIT", "repository": "sindresorhus/ansi-escapes", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", "url": "sindresorhus.com" }, "engines": { "node": ">=4" }, "scripts": { "test": "xo && ava" }, "files": [ "index.js" ], "keywords": [ "ansi", "terminal", "console", "cli", "string", "tty", "escape", "escapes", "formatting", "shell", "xterm", "log", "logging", "command-line", "text", "vt100", "sequence", "control", "code", "codes", "cursor", "iterm", "iterm2" ], "devDependencies": { "ava": "*", "xo": "*" } } ansi-escapes-3.0.0/readme.md000066400000000000000000000064021315347702400156540ustar00rootroot00000000000000# ansi-escapes [![Build Status](https://travis-ci.org/sindresorhus/ansi-escapes.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-escapes) > [ANSI escape codes](http://www.termsys.demon.co.uk/vtansi.htm) for manipulating the terminal ## Install ``` $ npm install ansi-escapes ``` ## Usage ```js const ansiEscapes = require('ansi-escapes'); // Moves the cursor two rows up and to the left process.stdout.write(ansiEscapes.cursorUp(2) + ansiEscapes.cursorLeft); //=> '\u001B[2A\u001B[1000D' ``` ## API ### cursorTo(x, [y]) Set the absolute position of the cursor. `x0` `y0` is the top left of the screen. ### cursorMove(x, [y]) Set the position of the cursor relative to its current position. ### cursorUp(count) Move cursor up a specific amount of rows. Default is `1`. ### cursorDown(count) Move cursor down a specific amount of rows. Default is `1`. ### cursorForward(count) Move cursor forward a specific amount of rows. Default is `1`. ### cursorBackward(count) Move cursor backward a specific amount of rows. Default is `1`. ### cursorLeft Move cursor to the left side. ### cursorSavePosition Save cursor position. ### cursorRestorePosition Restore saved cursor position. ### cursorGetPosition Get cursor position. ### cursorNextLine Move cursor to the next line. ### cursorPrevLine Move cursor to the previous line. ### cursorHide Hide cursor. ### cursorShow Show cursor. ### eraseLines(count) Erase from the current cursor position up the specified amount of rows. ### eraseEndLine Erase from the current cursor position to the end of the current line. ### eraseStartLine Erase from the current cursor position to the start of the current line. ### eraseLine Erase the entire current line. ### eraseDown Erase the screen from the current line down to the bottom of the screen. ### eraseUp Erase the screen from the current line up to the top of the screen. ### eraseScreen Erase the screen and move the cursor the top left position. ### scrollUp Scroll display up one line. ### scrollDown Scroll display down one line. ### clearScreen Clear the terminal screen. ### beep Output a beeping sound. ### image(input, [options]) Display an image. *Currently only supported on iTerm2 >=3* See [term-img](https://github.com/sindresorhus/term-img) for a higher-level module. #### input Type: `Buffer` Buffer of an image. Usually read in with `fs.readFile()`. #### options ##### width ##### height Type: `string` `number` The width and height are given as a number followed by a unit, or the word "auto". - `N`: N character cells. - `Npx`: N pixels. - `N%`: N percent of the session's width or height. - `auto`: The image's inherent size will be used to determine an appropriate dimension. ##### preserveAspectRatio Type: `boolean`
Default: `true` ### iTerm.setCwd([path]) Type: `string`
Default: `process.cwd()` [Inform iTerm2](https://www.iterm2.com/documentation-escape-codes.html) of the current directory to help semantic history and enable [Cmd-clicking relative paths](https://coderwall.com/p/b7e82q/quickly-open-files-in-iterm-with-cmd-click). ## Related - [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal ## License MIT © [Sindre Sorhus](https://sindresorhus.com) ansi-escapes-3.0.0/test.js000066400000000000000000000002561315347702400154130ustar00rootroot00000000000000import test from 'ava'; import m from '.'; test(t => { t.true(Object.keys(m).length > 0); t.is(typeof m.cursorTo, 'function'); t.is(m.cursorTo(2, 2), '\u001B[3;3H'); });