
    	              	           d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 dZ
 edd      Z	  ed	d	d
d
d
d
d
      Zg dZ G d d e	ee            Z G d de      Zy	)z#
The base classes for the styling.
    )unicode_literals)ABCMetaabstractmethod)
namedtuple)with_metaclass)AttrsDEFAULT_ATTRSANSI_COLOR_NAMESStyleDynamicStyler   z1color bgcolor bold underline italic blink reverseNF)colorbgcolorbold	underlineitalicblinkreverse)	ansiblack	ansiwhiteansidefaultansired	ansigreen
ansiyellowansiblueansifuchsiaansiturquoiseansilightgrayansidarkgrayansidarkredansidarkgreen	ansibrownansidarkblue
ansipurpleansitealc                   0    e Zd ZdZed        Zed        Zy)r   z8
    Abstract base class for prompt_toolkit styles.
    c                      y)z=
        Return :class:`.Attrs` for the given token.
        N )selftokens     -lib/third_party/prompt_toolkit/styles/base.pyget_attrs_for_tokenzStyle.get_attrs_for_token7           c                      y)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'   r(   s    r*   invalidation_hashzStyle.invalidation_hash=   r,   r-   N)__name__
__module____qualname____doc__r   r+   r0   r'   r-   r*   r   r   3   s/      
  r-   r   c                   "    e Zd ZdZd Zd Zd Zy)r   z
    Style class that can dynamically returns an other Style.

    :param get_style: Callable that returns a :class:`.Style` instance.
    c                     || _         y N)	get_style)r(   r8   s     r*   __init__zDynamicStyle.__init__L   s	    "r-   c                 h    | j                         }t        |t              sJ |j                  |      S r7   )r8   
isinstancer   r+   )r(   r)   styles      r*   r+   z DynamicStyle.get_attrs_for_tokenO   s/     %'''((//r-   c                 >    | j                         j                         S r7   )r8   r0   r/   s    r*   r0   zDynamicStyle.invalidation_hashU   s    ~~1133r-   N)r1   r2   r3   r4   r9   r+   r0   r'   r-   r*   r   r   F   s    
#04r-   r   )r4   
__future__r   abcr   r   collectionsr   sixr   __all__r   r	   r
   objectr   r   r'   r-   r*   <module>rD      sv    ( ' "  	7OP D$Ue"%@	 N7F+ &45 4r-   