a
    sh?	                     @   s  d dl Z d dlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ ertdd	lmZmZmZ ed
 ZG dd deZG dd deZedkrd dl Z d dlmZ d dlmZ eddZedd ee D ddZee ee j dkre!e j d  dS )    N)TYPE_CHECKINGOptionalUnionLiteral   )JupyterMixin)Segment)Style)EMOJI_emoji_replace)ConsoleConsoleOptionsRenderResult)emojitextc                   @   s   e Zd ZdZdS )NoEmojizNo emoji by that name.N)__name__
__module____qualname____doc__ r   r   R/var/www/html/assistant/venv/lib/python3.9/site-packages/pip/_vendor/rich/emoji.pyr      s   r   c                   @   s   e Zd Zg dZdddZdeeeef ee	 dddd	Z
eeed
ddZedddZedddZddddddZdS )Emoji)namestyle_charvariantu   ︎u   ️)r   r   noneN)r   r   r   returnc                 C   sf   || _ || _|| _zt| | _W n  ty@   td|Y n0 |durb|  j| j|d7  _dS )zA single emoji character.

        Args:
            name (str): Name of emoji.
            style (Union[str, Style], optional): Optional style. Defaults to None.

        Raises:
            NoEmoji: If the emoji doesn't exist.
        zNo emoji called N )	r   r   r   r
   r   KeyErrorr   VARIANTSget)selfr   r   r   r   r   r   __init__   s    zEmoji.__init__)r   r   c                 C   s   t |S )zReplace emoji markup with corresponding unicode characters.

        Args:
            text (str): A string with emojis codes, e.g. "Hello :smiley:!"

        Returns:
            str: A string with emoji codes replaces with actual emoji.
        r   )clsr   r   r   r   replace4   s    
zEmoji.replace)r   c                 C   s   d| j dS )Nz<emoji >)r   r$   r   r   r   __repr__@   s    zEmoji.__repr__c                 C   s   | j S N)r   r)   r   r   r   __str__C   s    zEmoji.__str__r   r   r   )consoleoptionsr   c                 c   s   t | j|| jV  d S r+   )r   r   Z	get_styler   )r$   r-   r.   r   r   r   __rich_console__F   s    zEmoji.__rich_console__)r   N)r   r   r   	__slots__r"   strr   r	   r   EmojiVariantr%   classmethodr'   r*   r,   r/   r   r   r   r   r      s"   
  
r   __main__)Columns)r   T)recordc                 c   s&   | ]}d |vrd| d| V  qdS )u   ‍:z: Nr   ).0r   r   r   r   	<genexpr>U       r9   )Zcolumn_first)"systypingr   r   r   r   Zjupyterr   segmentr   r   r	   Z_emoji_codesr
   r   r-   r   r   r   r2   	Exceptionr   r   r   Zpip._vendor.rich.columnsr5   Zpip._vendor.rich.consolesortedkeyscolumnsprintlenargvZ	save_htmlr   r   r   r   <module>   s.   6


