
    Mh                       U d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 g dZ G d de
          Z	  eddd	d	d	d	d	d	d	
	  	        Zg dZddddddddddd
Zded<    ee                                                               ee                    sJ  ee                                           ee          z  rJ  G d de          Z G d de          Z G d de          Zd S )!z#
The base classes for the styling.
    )annotations)ABCMetaabstractmethodabstractproperty)CallableHashable
NamedTuple)AttrsDEFAULT_ATTRSANSI_COLOR_NAMESANSI_COLOR_NAMES_ALIASES	BaseStyle
DummyStyleDynamicStylec                  j    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   dS )r
   z
str | Nonecolorbgcolorzbool | Nonebold	underlinestrikeitalicblinkreversehiddenN)__name__
__module____qualname____annotations__     Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/styles/base.pyr
   r
      s~         r    r
    F)	r   r   r   r   r   r   r   r   r   )ansidefault	ansiblackansired	ansigreen
ansiyellowansiblueansimagentaansicyanansigrayansibrightblackansibrightredansibrightgreenansibrightyellowansibrightblueansibrightmagentaansibrightcyan	ansiwhiter,   r*   r2   r'   r)   r1   r+   r%   r&   r(   )
ansidarkgrayansitealansiturquoise	ansibrown
ansipurpleansifuchsiaansilightgrayansidarkredansidarkgreenansidarkbluezdict[str, str]r   c                  ^    e Zd ZdZeefdd            Zedd	            Zedd            Z	dS )r   z8
    Abstract base class for prompt_toolkit styles.
    	style_strstrdefaultr
   returnc                    dS )a  
        Return :class:`.Attrs` for the given style string.

        :param style_str: The style string. This can contain inline styling as
            well as classnames (e.g. "class:title").
        :param default: `Attrs` to be used if no styling was defined.
        Nr   selfr?   rA   s      r!   get_attrs_for_style_strz!BaseStyle.get_attrs_for_style_strr         r    list[tuple[str, str]]c                    g S )z
        The list of style rules, used to create this style.
        (Required for `DynamicStyle` and `_MergedStyle` to work.)
        r   rE   s    r!   style_ruleszBaseStyle.style_rules~   s	     	r    r   c                    dS )z
        Invalidation hash for the style. When this changes over time, the
        renderer knows that something in the style changed, and that everything
        has to be redrawn.
        Nr   rJ   s    r!   invalidation_hashzBaseStyle.invalidation_hash   rG   r    Nr?   r@   rA   r
   rB   r
   rB   rH   rB   r   )
r   r   r   __doc__r   r   rF   r   rK   rM   r   r    r!   r   r   m   s          /<	 	 	 	 ^	        ^  r    r   )	metaclassc                  >    e Zd ZdZefddZdd	Zedd            ZdS )r   z.
    A style that doesn't style anything.
    r?   r@   rA   r
   rB   c                    |S Nr   rD   s      r!   rF   z"DummyStyle.get_attrs_for_style_str   s	     r    r   c                    dS )N   r   rJ   s    r!   rM   zDummyStyle.invalidation_hash   s    qr    rH   c                    g S rU   r   rJ   s    r!   rK   zDummyStyle.style_rules   s    	r    NrN   rP   rO   )	r   r   r   rQ   r   rF   rM   propertyrK   r   r    r!   r   r      sp         
 0=    
       X  r    r   c                  F    e Zd ZdZddZefdd
ZddZedd            Z	dS )r   z
    Style class that can dynamically returns an other Style.

    :param get_style: Callable that returns a :class:`.Style` instance.
    	get_styleCallable[[], BaseStyle | None]c                :    || _         t                      | _        d S rU   )r[   r   _dummy)rE   r[   s     r!   __init__zDynamicStyle.__init__   s    " llr    r?   r@   rA   r
   rB   c                d    |                                  p| j        }|                    ||          S rU   )r[   r^   rF   )rE   r?   rA   styles       r!   rF   z$DynamicStyle.get_attrs_for_style_str   s0       /DK,,Y@@@r    r   c                \    |                                  p| j                                        S rU   )r[   r^   rM   rJ   s    r!   rM   zDynamicStyle.invalidation_hash   s%      /DKBBDDDr    rH   c                B    |                                  p| j        j        S rU   )r[   r^   rK   rJ   s    r!   rK   zDynamicStyle.style_rules   s      /DK<<r    N)r[   r\   rN   rP   rO   )
r   r   r   rQ   r_   r   rF   rM   rY   rK   r   r    r!   r   r      s         # # # #
 0=A A A A AE E E E = = = X= = =r    r   N)rQ   
__future__r   abcr   r   r   typingr   r   r	   __all__r
   r   r   r   r   setvaluesissubsetkeysr   r   r   r   r    r!   <module>rl      s)     # " " " " " 9 9 9 9 9 9 9 9 9 9 1 1 1 1 1 1 1 1 1 1  	 	 	 	 	J 	 	 	
 
	

 
 
$   : &%& , ,      s#**,,--66ss;K7L7LMM M M MC(--//00337G3H3HH I I I    '    D       $= = = = =9 = = = = =r    