a
    hbòfï  ã                2   @   s&  d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ dgZedededejded	ejde
jd
ejdejdejdejdejdejdejdejdejdejdede	d	ejdejdej dej!dejdediZ"dddddddddddddd d d!d"d#d$d%œZ#d&d'„ Z$G d(d„ deƒZ%d)S )*zË
    pygments.formatters.irc
    ~~~~~~~~~~~~~~~~~~~~~~~

    Formatter for IRC output

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú	Formatter)
ÚKeywordÚNameÚCommentÚStringÚErrorÚNumberÚOperatorÚGenericÚTokenÚ
Whitespace)Úget_choice_optÚIRCFormatter)Ú r   )ÚgrayÚbrightblack)ÚcyanÚ
brightcyan)ÚblueÚ
brightblue)Úmagentar   )ÚgreenÚbrightgreen)Z_cyan_Z_brightcyan_)Z_green_Z_brightgreen_)r   r   )ÚredÚ	brightred)r   r   )Úyellowr   )r   r   )ú**r   )z	*magenta*z*brightmagenta*)Ú_brightred_r   é   é   é   é   é   é   é   é   é	   é
   é   é   é   é   é   )ÚwhiteÚblackr   r   r   r   r   Zoranger   ZbrightyellowZ
lightgreenr   r   Z	lightbluer   r   Zbrightmagentar   r   c                 C   s–   t | ƒdk r|S d }}d| v r:|d7 }d| }|  d¡} d| v r\|d7 }d| }|  d¡} t | ƒdkrŠ|dtt|  ƒ d	¡ 7 }d| }|| | S )Nr   r   Ú_úÚ*úr   úr   ú<ú>z</)ÚlenÚstripÚstrÚIRC_COLOR_MAPÚzfill)ÚcolorÚtextÚaddÚsub© r?   ú`/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_vendor/pygments/formatters/irc.pyÚ	ircformatL   s     

rA   c                   @   s@   e Zd ZdZdZddgZg Zdd„ Zdd„ Zdd	„ Z	d
d„ Z
dS )r   aS  
    Format tokens with IRC color sequences

    The `get_style_defs()` method doesn't do anything special since there is
    no support for common styles.

    Options accepted:

    `bg`
        Set to ``"light"`` or ``"dark"`` depending on the terminal's background
        (default: ``"light"``).

    `colorscheme`
        A dictionary mapping token types to (lightbg, darkbg) color names or
        ``None`` (default: ``None`` = use builtin colorscheme).

    `linenos`
        Set to ``True`` to have line numbers in the output as well
        (default: ``False`` = no line numbers).
    ZIRCÚircc                 K   sT   t j| fi |¤Ž t|dddgdƒdk| _| dd ¡p8t| _| dd¡| _d| _d S )NÚbgÚlightZdarkÚcolorschemeÚlinenosFr   )	r   Ú__init__r   ÚdarkbgÚgetÚ
IRC_COLORSrE   rF   Ú_lineno)ÚselfÚoptionsr?   r?   r@   rG   z   s    ÿÿzIRCFormatter.__init__c                 C   s"   |  j d7  _ | d| j  ¡ d S )Nr   z
%04d: )rK   Úwrite)rL   Úoutfiler?   r?   r@   Ú_write_lineno‚   s    zIRCFormatter._write_linenoc              	   C   sæ   |   |¡ |D ]È\}}| d¡r6|   |¡ |d d… }| j |¡}|d u r^|j}| j |¡}qB|rÌ|| j }| d¡}|d d… D ]*}|   |¡ |r‚| t||d d… ƒ¡ q‚|d rÖ| t||d ƒ¡ q| |¡ q| d¡ d S )NÚ
éÿÿÿÿ)	rP   ÚendswithrE   rI   ÚparentrH   ÚsplitrN   rA   ©rL   ZtokensourcerO   ÚttypeÚvaluer;   ZsplÚliner?   r?   r@   Ú_format_unencoded_with_lineno†   s(    





z*IRCFormatter._format_unencoded_with_linenoc                 C   sÆ   | j r|  ||¡ d S |D ]¦\}}| j |¡}|d u rP|d d… }| j |¡}q.|r¶|| j }| d¡}|d d… D ]"}|rŒ| t||ƒ¡ | d¡ qt|d rÀ| t||d ƒ¡ q| |¡ qd S )NrR   rQ   )rF   rZ   rE   rI   rH   rU   rN   rA   rV   r?   r?   r@   Úformat_unencodedŸ   s$    

zIRCFormatter.format_unencodedN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesrG   rP   rZ   r[   r?   r?   r?   r@   r   a   s   N)&r_   Zpip._vendor.pygments.formatterr   Úpip._vendor.pygments.tokenr   r   r   r   r   r   r	   r
   r   r   Úpip._vendor.pygments.utilr   Ú__all__ÚPreprocÚTypeÚWordÚBuiltinÚFunctionÚ	NamespaceÚClassÚ	ExceptionÚ	DecoratorÚVariableÚConstantÚ	AttributeÚTagÚDeletedÚInsertedÚHeadingÚ
SubheadingrJ   r9   rA   r   r?   r?   r?   r@   Ú<module>   sh   
0ä!í