U
    \Sh                     @  s  U d Z ddlmZ ddlZddlZddlZddlZzddlZW n ek
rV   dZY nX e	dZ
ded< i Zded< d	d	d
ddZddddZe Zded< d	d	dddZddddZddddZddddZd9d	d	dd	ddd Zd	d	d
d!d"Zd	dd#d$d%Zd&d'd(d)d*d+d,Ze D ]\ZZd-e ee< q,d.d/d0d1d2d3d4d5gZeed6D ]*\Z\ZZd7e ee< d7ed8  ee< qbe  Z!eD ]Zee qdS ):zFormat colored console output.    )annotationsNz\[(\d\d;){0,2}\d\dmzre.Pattern[str]_ansi_rezdict[str, str]codesstr)sreturnc                 C  s   |  dddS )z4Safely encode a string for printing to the terminal.asciibackslashreplace)encodedecoder    r   F/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/util/console.pyterminal_safe   s    r   int)r   c                   C  s   t  jd S )z,Return the width of the terminal in columns.   )shutilget_terminal_sizecolumnsr   r   r   r   get_terminal_width   s    r   _twtextr   c                 C  s6   t s| d S | tt|  ttd|  d S d S )N
 )r   ljustr   lenr   subr   r   r   r   term_width_line"   s    r    boolc                  C  s   dt jkrdS tjdkr,td k	r,t  dS dt jkr:dS ttjdsJdS tj sXdS dt jkrfdS t j	dd	
 } | d
ksd| krdS dS )NNO_COLORFwin32TFORCE_COLORisatty	COLORTERMTERMdumb)Zxtermlinuxcolor)osenvironsysplatformcoloramainithasattrstdoutr%   getlower)termr   r   r   color_terminal+   s"    



r6   Nonec                   C  s&   t jdkrtd k	rt  t  d S )Nr#   )r-   r.   r/   Zdeinitr   clearr   r   r   r   nocolor?   s    r9   c                   C  s   t t d S N)r   update_orig_codesr   r   r   r   coloronE   s    r=   F)namer   
input_moder   c                   s(   ddd fdd}|| | |d S )Nr   r>   r   c                   s2   t | d} r*|r*tjdkr*d| d S |S d S )Nr   r#   )r   r3   r-   r.   )r>   escaper?   r   r   escseqJ   s    zcolorize.<locals>.escseqresetr   )r>   r   r?   rE   r   rD   r   colorizeI   s    rG   c                 C  s   t dd| S )Nz.*?mr   )recompiler   r   r   r   r   strip_colorsY   s    rJ   r@   c                   s"   ddd fdd}|t   < d S )Nr   r   c                   s
   t  | S r:   )rG   r   r>   r   r   inner^   s    z create_color_func.<locals>.inner)globals)r>   rL   r   rK   r   create_color_func]   s    rN   z	39;49;00mZ01mZ02mZ03mZ04mZ05m)rF   boldZfaintZstandout	underlineblinkz[)blackZdarkgray)Zdarkredred)Z	darkgreengreen)Zbrownyellow)Zdarkblueblue)purpleZfuchsia)Z	turquoiseteal)Z	lightgraywhite   z[%im<   )F)"__doc__
__future__r   r+   rH   r   r-   r/   ImportErrorrI   r   __annotations__r   r   r   r   r    r6   r9   r=   rG   rJ   rN   Z_attrsitems_name_value_colors	enumerateiZdarkZlightcopyr<   r   r   r   r   <module>   sZ   
		