ó
§xxTc           @   sú   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Td  d l m Z d  d l m Z e	 Z
 d „  Z d „  Z e j e ƒ  e j ƒ Z e j d e j ƒ Z e j d ƒ Z d	 e f d
 „  ƒ  YZ d „  Z e d k rö d  d l m Z e e ƒ n  d S(   iÿÿÿÿN(   t   *(   t	   Delegator(   t   idleConfc         C   s   d |  d j  | ƒ d S(   s9   Return a named group pattern matching list of alternates.s   (?P<%s>t   |t   )(   t   join(   t   namet
   alternates(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   any   s    c          C   sý   d t  d t j ƒ d }  g  t t ƒ D]! } | j d ƒ s' t | ƒ ^ q' } | j d ƒ d t  d | ƒ d } t  d d g ƒ } d	 } | d
 } | d } | d } | d }	 t  d | |	 | | g ƒ }
 |  d | d | d |
 d t  d d g ƒ S(   Ns   \bt   KEYWORDt   _t   prints   ([^.'\"\\#]\b|^)t   BUILTINt   COMMENTs   #[^\n]*s(   (\br|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR)?s   '[^'\\\n]*(\\.[^'\\\n]*)*'?s   "[^"\\\n]*(\\.[^"\\\n]*)*"?s'   '''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?s'   """[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?t   STRINGR   t   SYNCs   \n(   R   t   keywordt   kwlistt   dirt   __builtin__t
   startswitht   strt   remove(   t   kwR   t   builtinlistt   builtint   commentt   stringprefixt   sqstringt   dqstringt	   sq3stringt	   dq3stringt   string(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   make_pat   s    !



s   \s+(\w+)s   .*?\b(as)\bt   ColorDelegatorc           B   s˜   e  Z d  „  Z d „  Z d „  Z d „  Z d d „ Z d d „ Z d Z	 e
 Z e Z d d „ Z d Z d d „ Z d „  Z d	 „  Z d
 „  Z d „  Z RS(   c         C   s6   t  j |  ƒ t |  _ t |  _ t |  _ |  j ƒ  d  S(   N(   R   t   __init__t   progt   idprogt   asprogt   LoadTagDefs(   t   self(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR#   )   s
    			c         C   s�   |  j  d  k	 r |  j d ƒ n  t j |  | ƒ | d  k	 rk |  j ƒ  |  j d |  j ƒ |  j d d ƒ n t	 |  _
 t |  _ d  S(   Ns   <<toggle-auto-coloring>>s   1.0t   end(   t   delegatet   Nonet   unbindR   t   setdelegatet   config_colorst   bindt   toggle_colorize_eventt   notify_ranget   Truet   stop_colorizingt   Falset   allow_colorizing(   R(   R*   (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR-   0   s    
	c         C   sJ   x6 |  j  j ƒ  D]% \ } } | r |  j | | � q q W|  j d ƒ d  S(   Nt   sel(   t   tagdefst   itemst   tag_configuret	   tag_raise(   R(   t   tagt   cnf(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR.   =   s    c         C   sù   t  j d d d ƒ } i
 t  j | d ƒ d 6t  j | d ƒ d 6t  j | d ƒ d	 6t  j | d
 ƒ d 6t  j | d ƒ d 6i d  d 6d  d 6d 6i d  d 6d  d 6d 6t  j | d ƒ d 6t  j | d ƒ d 6t  j | d ƒ d 6|  _ t rõ d G|  j GHn  d  S(   Nt   maint   ThemeR   R   R   R   R	   R   R   R    R   t
   definitiont
   DEFINITIONt
   backgroundt
   foregroundR   t   TODOt   breakt   BREAKt   errort   ERRORt   hitR7   (   R   t	   GetOptiont   GetHighlightR+   R7   t   DEBUG(   R(   t   theme(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR'   C   s     c         C   sG   |  j  | ƒ } |  j j | | | ƒ |  j | | d t | ƒ ƒ d  S(   Ns   +%dc(   t   indexR*   t   insertR1   t   len(   R(   RM   t   charst   tags(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyRN   U   s    c         C   s3   |  j  | ƒ } |  j j | | ƒ |  j | ƒ d  S(   N(   RM   R*   t   deleteR1   (   R(   t   index1t   index2(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyRR   Z   s    c         C   s‡   |  j  d | | ƒ |  j r. t r* d GHn  d  S|  j rQ t |  _ t rQ d GHqQ n  |  j rƒ t rh d GHn  |  j d |  j ƒ |  _ n  d  S(   NRC   s   colorizing already scheduleds   stop colorizings   schedule colorizingi   (	   t   tag_addt   after_idRK   t
   colorizingR2   R3   R5   t   aftert
   recolorize(   R(   RS   RT   (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR1   c   s    	 		 	 c         C   sw   |  j  r9 |  j  } d  |  _  t r) d GHn  |  j | ƒ n  t |  _ t |  _ | rs |  j sg | j	 ƒ  qs | |  _
 n  d  S(   Ns   cancel scheduled recolorizer(   RV   R+   RK   t   after_cancelR4   R5   R2   R3   RW   t   destroyt   close_when_done(   R(   R\   RV   (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   closeq   s    			 			c         C   sÅ   |  j  r9 |  j  } d  |  _  t r) d GHn  |  j | ƒ n  |  j re |  j re t rY d GHn  t |  _ n  |  j |  _ |  j r  |  j r  |  j d |  j	 ƒ |  _  n  t rÁ d G|  j r¹ d p¼ d GHn  d S(   Ns   cancel scheduled recolorizers   stop colorizingi   s   auto colorizing turnedt   ont   offRD   (
   RV   R+   RK   RZ   R5   RW   R2   R3   RX   RY   (   R(   t   eventRV   (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR0      s"    			  c         C   s3  d  |  _ |  j s$ t r  d GHn  d  S|  j s? t r; d GHn  d  S|  j rZ t rV d GHn  d  Sz\ t |  _ t |  _ t r} d GHn  t	 j
 ƒ  } |  j ƒ  t	 j
 ƒ  } t rµ d | | GHn  Wd  t |  _ X|  j r|  j d d ƒ rt rì d GHn  |  j d	 |  j ƒ |  _ n  |  j r/|  j } d  |  _ | j ƒ  n  d  S(
   Ns   no delegates   auto colorizing is offs   already colorizings   colorizing...s   %.3f secondsRC   s   1.0s   reschedule colorizingi   (   R+   RV   R*   RK   R5   RW   R4   R3   R2   t   timet   clockt   recolorize_maint   tag_nextrangeRX   RY   R\   R[   (   R(   t   t0t   t1t   top(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyRY   �   s@    		 	 	 		 
 
 			c         C   sM  d } x@t  rH|  j d | ƒ } | s+ Pn  | \ } } |  j d | | ƒ |  j d | ƒ } | ro | d } n d } d } | } d } t } xµ| sD| } |  j | d | ƒ } t | d d ƒ } d |  j | d	 ƒ k } |  j | | ƒ }	 |	 sû d  Sx* |  j	 j
 ƒ  D] }
 |  j |
 | | ƒ qW| |	 } |  j j | ƒ } xŽ| rÔxf| j ƒ  j ƒ  D]R\ } } | r`| j | ƒ \ } } |  j | | d
 | | d
 | ƒ | d k r|  j j | | ƒ } | r¯| j d ƒ \ } } |  j d | d
 | | d
 | ƒ q¯q²| d k r²d | k r9| j d ƒ } n t | ƒ } xg t  r«|  j j | | | ƒ } | spPn  | j d ƒ \ } } |  j d | d
 | | d
 | ƒ qHWq²q`q`W|  j j | | j ƒ  ƒ } qGWd |  j | d	 ƒ k rý| } d } n t } | s|  j d | ƒ n  |  j ƒ  |  j r� t r=d GHn  d  Sq� Wq	 Wd  S(   Ns   1.0RC   R   i   t    s   +%d lines linestarti   id   s   -1cs   +%dct   deft   classR@   t   importt   #R	   s   colorizing stopped(   Ri   Rj   (   R2   Rd   t
   tag_removet   tag_prevrangeR4   RM   t   mint	   tag_namest   getR7   t   keysR$   t   searcht	   groupdictR8   t   spanRU   R%   t   matchRO   R&   R)   t   updateR3   RK   (   R(   t   nextt   itemt   headt   tailRP   t   lines_to_gett   okt   markt   lineR;   t   mt   keyt   valuet   at   bt   m1t   endpos(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyRc   ­   s„    		
						
	 c         C   s1   x* |  j  j ƒ  D] } |  j | d d ƒ q Wd  S(   Ns   1.0R)   (   R7   Rr   Rm   (   R(   R;   (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   removecolorsþ   s    N(   t   __name__t
   __module__R#   R-   R.   R'   R+   RN   RR   RV   R2   R5   R4   RW   R1   R\   R]   R0   RY   Rc   R‡   (    (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyR"   '   s    							Qc         C   sâ   d d l  m } t ƒ  } | j d ƒ t t t t j d |  j	 ƒ  ƒ ƒ ƒ \ } } } } | j	 d | | d f ƒ d } t
 | d d	 ƒ} | j d
 | ƒ | j d d d d ƒ | | ƒ }	 t ƒ  }
 |	 j |
 ƒ | j ƒ  d  S(   Niÿÿÿÿ(   t
   Percolators   Test ColorDelegators   [x+]s   +%d+%di–   s&   if somename: x = 'abc' # comment
printRA   t   whiteRN   t   expandi   t   fillt   both(   t   idlelib.PercolatorRŠ   t   Tkt   titlet   listt   mapt   intt   ret   splitt   geometryt   TextRN   t   packR"   t   insertfiltert   mainloop(   t   parentRŠ   t   roott   widtht   heightt   xt   yt   sourcet   textt   pt   d(    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   _color_delegator  s    	3	t   __main__(   t   run(   Ra   R•   R   R   t   Tkintert   idlelib.DelegatorR   t   idlelib.configHandlerR   R4   RK   R   R!   t   compilet   SR$   R%   R&   R"   R¦   Rˆ   t   idlelib.idle_test.htestR¨   (    (    (    sB   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/ColorDelegator.pyt   <module>   s"   
		Û	