ó
_y]c           @   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
 d d ƒ Z
 d Z e d Z e e	 d d
 d	 d d d ƒ Z d Z e e	 d d d	 d
 d d ƒ Z d Z d „  Z d „  Z d „  Z d „  Z d d „ Z d S(   sK    Style utilities, templates, and defaults for syntax highlighting widgets.
iÿÿÿÿ(   t
   rgb_to_hls(   t   get_style_by_name(   t   TokensŠ      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; }
sD       .in-prompt { color: navy; }
    .out-prompt { color: darkred; }
t   bgcolort   whitet   fgcolort   blackt   selects   #ccct   defaultso       .in-prompt,
    .in-prompt-number { color: lime; }
    .out-prompt,
    .out-prompt-number { color: red; }
s   #555t   monokait   bwc         C   sÓ   |  j  d ƒ r |  d }  n  t |  ƒ d k rW d j g  |  D] } | d ^ q; ƒ }  n  t |  ƒ d k rm t Sy@ t |  d  d ƒ } t |  d d !d ƒ } t |  d d ƒ } Wn t k
 rÁ t SX| | | f Sd	 S(
   s)   Convert a hex color to rgb integer tuple.t   #i   i   t    i   i   i   i   N(   t
   startswitht   lent   joint   Falset   intt
   ValueError(   t   colort   ct   rt   gt   b(    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt
   hex_to_rgb9   s    )c         C   s.   t  |  ƒ } | r& t | Œ  d d k  St Sd S(   s]   Check whether a color is 'dark'.

    Currently, this is simply whether the luminance is <50%i   i€   N(   R   R    R   (   R   t   rgb(    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt
   dark_colorJ   s    c         C   s   t  t |  ƒ j ƒ S(   sU   Guess whether the background of the style with name 'stylename'
    counts as 'dark'.(   R   R   t   background_color(   t	   stylename(    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt
   dark_styleT   s    c         C   s‹   t  |  ƒ } | j t j ƒ d p% d } t | ƒ d
 k rl y t | d ƒ Wn t k
 r^ ql Xd | } n  t d | j d | j	 d	 | ƒ S(   sP   Construct the keys to be used building the base stylesheet
    from a templatee.R   R   i   i   i   R   R   R   R   (   i   i   (
   R   t   style_for_tokenR   t   TextR   R   t	   TypeErrort   dictR   t   highlight_color(   R   t   styleR   (    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt
   get_colorsY   s    		t   lightbgc         C   sd   | j  ƒ  } | d k r& t t |  ƒ S| d k r@ t t |  ƒ S| d k rP t St d | ƒ ‚ d S(   s;   Use one of the base templates, and set bg/fg/select colors.R%   t   linuxt   nocolors   No such color scheme: %sN(   t   lowert   default_light_style_templateR$   t   default_dark_style_templatet   default_bw_style_sheett   KeyError(   t   namet   colors(    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt   sheet_from_templatem   s    N(   t   __doc__t   colorsysR    t   pygments.stylesR   t   pygments.tokenR   t   default_templateR)   R!   t   default_light_style_sheett   default_light_syntax_styleR*   t   default_dark_style_sheett   default_dark_syntax_styleR+   t   default_bw_syntax_styleR   R   R   R$   R/   (    (    (    s/   lib/python2.7/site-packages/qtconsole/styles.pyt   <module>   s,   					
		