3

T'íc³
ã@s²UdZddlZddlZddlZddlmZmZyddlZWnek
rRdZYnXej	dƒZ
e
iZeeefeedœdd„Z
edœd	d
„ZeƒZeeedœdd
„Zedœdd„Zddœdd„Zddœdd„Zd8eeeedœdd„Zeedœdd„Zeddœdd„Zdddd d!d"d#œZx"ejƒD]\ZZd$eee<q&Wd9d:d;d<d=d>d?d@gZx8eed5ƒD]*\Z\Z Z!d6eee <d6ed7ee!<q`Wej"ƒZ#xeD]ZeeƒqœWdS)AzFormat colored console output.éN)ÚDictÚPatternz\[(\d\d;){0,2}\d\dm)ÚsÚreturncCs|jddƒjdƒS)z4Safely encode a string for printing to the terminal.ÚasciiÚbackslashreplace)ÚencodeÚdecode)r©r
ú5/tmp/pip-build-gk9425m9/sphinx/sphinx/util/console.pyÚ
terminal_safesr)rcCs†yVddl}ddl}ddl}|jd|j|jdddddƒƒ}|jd|ƒdd…\}}|}Wn*tk
r€tt	j
jddƒƒd}YnX|S)zBorrowed from the py lib.rNZhhhhéÚCOLUMNSÚ80é)ÚfcntlÚstructÚtermiosÚioctlÚ
TIOCGWINSZÚpackÚunpackÚ	ExceptionÚintÚosÚenvironÚget)rrrÚcallÚheightÚwidthÚterminal_widthr
r
rÚget_terminal_widthsr!)ÚtextrcCs6ts|dS|jtt|ƒttjd|ƒƒƒdSdS)NÚ
Úú
)ÚcodesÚljustÚ_twÚlenÚ_ansi_reÚsub)r"r
r
rÚterm_width_line*sr,cCsdtjkrdStjdkr,tdk	r,tjƒdSdtjkr:dSttjdƒsJdStjjƒsXdSdtjkrfdStjj	dd	ƒj
ƒ}|d
ksˆd|krŒdSdS)NZNO_COLORFÚwin32TZFORCE_COLORÚisattyZ	COLORTERMÚTERMZdumbÚxtermÚlinuxÚcolor)r0r1)rrÚsysÚplatformÚcoloramaÚinitÚhasattrÚstdoutr.rÚlower)Ztermr
r
rÚcolor_terminal3s"



r:cCs&tjdkrtdk	rtjƒtjƒdS)Nr-)r3r4r5Údeinitr&Úclearr
r
r
rÚnocolorGsr=cCstjtƒdS)N)r&ÚupdateÚ_orig_codesr
r
r
rÚcoloronMsr@F)Únamer"Ú
input_modercs(ttdœ‡fdd„}||ƒ||dƒS)N)rArcs2tj|dƒ}ˆr*|r*tjdkr*d|dS|SdS)Nr$r-úú)r&rr3r4)rAÚescape)rBr
rÚescseqRszcolorize.<locals>.escseqÚreset)Ústr)rAr"rBrFr
)rBrÚcolorizeQsrIcCstjdƒjd|ƒS)Nz.*?mr$)ÚreÚcompiler+)rr
r
rÚstrip_colorsasrL)rArcs"ttdœ‡fdd„}|tƒˆ<dS)N)r"rcs
tˆ|ƒS)N)rI)r")rAr
rÚinnerfsz create_color_func.<locals>.inner)rHÚglobals)rArMr
)rArÚcreate_color_funcesrOz	39;49;00mZ01mZ02mZ03mZ04mZ05m)rGZboldZfaintZstandoutZ	underlineZblinkz[ÚblackÚdarkgrayÚdarkredÚredÚ	darkgreenÚgreenÚbrownÚyellowÚdarkblueÚblueÚpurpleÚfuchsiaÚ	turquoiseÚtealÚ	lightgrayÚwhiteéz[%imé<)F)rPrQ)rRrS)rTrU)rVrW)rXrY)rZr[)r\r])r^r_)$Ú__doc__rrJr3Útypingrrr5ÚImportErrorrKr*r&rHrrr!r(r,Úboolr:r=r@rIrLrOÚ_attrsÚitemsÚ_nameÚ_valueZ_colorsÚ	enumerateÚiZdarkÚlightÚcopyr?r
r
r
rÚ<module>sT