o
    tf                     @   s   d Z ddlmZ ddlmZ ddlmZ dZed Zee	ddd	d
 Z
dZed Zee	dddd
 ZdZee	ddd	d
 ZdZdd Zdd Zdd Zdd ZdddZdS )zK Style utilities, templates, and defaults for syntax highlighting widgets.
    )
rgb_to_hls)get_style_by_name)Tokena      QPlainTextEdit, QTextEdit {
        background-color: %(bgcolor)s;
        background-clip: padding;
        color: %(fgcolor)s;
        selection-background-color: %(select)s;
    }
    .inverted {
        background-color: %(fgcolor)s;
        color: %(bgcolor)s;
    }
    .error { color: red; }
    .in-prompt-number { font-weight: bold; }
    .out-prompt-number { font-weight: bold; }
zD    .in-prompt { color: navy; }
    .out-prompt { color: darkred; }
whiteblackz#ccc)bgcolorfgcolorselectdefaultzo    .in-prompt,
    .in-prompt-number { color: lime; }
    .out-prompt,
    .out-prompt-number { color: red; }
z#555monokaibwc                 C   s   |  dr| dd } t| dkrddd | D } t| dkr#d	S zt| dd
 d}t| d
d d}t| dd d}W n
 tyJ   Y d	S w |||fS )z)Convert a hex color to rgb integer tuple.#   N    c                 S   s   g | ]}|d  qS )    ).0cr   r   Y/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/qtconsole/styles.py
<listcomp>>   s    zhex_to_rgb.<locals>.<listcomp>   Fr         )
startswithlenjoinint
ValueError)colorrgbr   r   r   
hex_to_rgb9   s   

r#   c                 C   s    t | }|rt| d dk S dS )z]Check whether a color is 'dark'.

    Currently, this is simply whether the luminance is <50%r      F)r#   r   )r   rgbr   r   r   
dark_colorJ   s   r&   c                 C   s   t t| jS )zUGuess whether the background of the style with name 'stylename'
    counts as 'dark'.)r&   r   background_color)	stylenamer   r   r   
dark_styleT   s   r)   c                 C   sd   t | }|tjd pd}t|dv r)zt|d W n	 ty$   Y nw d| }t|j|j	|dS )zPConstruct the keys to be used building the base stylesheet
    from a templatee.r   r   )r   r   r   r   )r   r	   r   )
r   style_for_tokenr   Textr   r   	TypeErrordictr'   highlight_color)r(   styler   r   r   r   
get_colorsY   s   r0   lightbgc                 C   sH   |  }|dkrtt|  S |dkrtt|  S |dkrtS td| )z;Use one of the base templates, and set bg/fg/select colors.r1   linuxZnocolorzNo such color scheme: %s)lowerdefault_light_style_templater0   default_dark_style_templatedefault_bw_style_sheetKeyError)namecolorsr   r   r   sheet_from_templatem   s   r:   N)r1   )__doc__colorsysr   Zpygments.stylesr   Zpygments.tokenr   Zdefault_templater4   r-   Zdefault_light_style_sheetZdefault_light_syntax_styler5   Zdefault_dark_style_sheetZdefault_dark_syntax_styler6   Zdefault_bw_syntax_styler#   r&   r)   r0   r:   r   r   r   r   <module>   s0    
