£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

]:                 @   s   d  d l  m Z d  d l m Z d d d d d d i Z d	 Z Gd
 d   d  Z e d k r| d  d l Z e j	 d d d d S)    )HyperParser)idleConf)(][}{d   c               @   sB  e  Z d  Z d d0 g f g Z e j d d  d d d Z e j d d  d d	 d
 d d Z e j e j	   d  Z
 e j d d  d d	 d d d Z d Z d1 Z d d   Z d d   Z d d   Z d d   Z d d   Z d d    Z d! d" d#  Z d$ d%   Z d& d'   Z d( d)   Z d* d+   Z d, d-   Z d. d/   Z d! S)2
ParenMatchZeditShow surrounding parens<<flash-paren>>
extensionsstyledefault
expressionzflash-delaytypeinti  Zhilitebellbool   z<<parenmatch-check-restore>>
<KeyPress><ButtonPress><Key-Return><Key-BackSpace>c             C   sT   | |  _  | j |  _ | j j |  j |  j  d |  _ d |  _ |  j |  j  d  S)Nr   )	editwintextbindRESTORE_VIRTUAL_EVENT_NAMErestore_eventcounteris_restore_active	set_styleSTYLE)selfr    r%   //opt/alt/python35/lib64/python3.5/ParenMatch.py__init__;   s    	
		zParenMatch.__init__c             C   s@   |  j  s< x' |  j D] } |  j j |  j |  q Wd |  _  d  S)NT)r!   RESTORE_SEQUENCESr   Z	event_addr   )r$   seqr%   r%   r&   activate_restoreG   s    	zParenMatch.activate_restorec             C   s@   |  j  r< x' |  j D] } |  j j |  j |  q Wd |  _  d  S)NF)r!   r(   r   Zevent_deleter   )r$   r)   r%   r%   r&   deactivate_restoreM   s    	zParenMatch.deactivate_restorec             C   sX   | |  _  | d k r0 |  j |  _ |  j |  _ n$ | d k rT |  j |  _ |  j |  _ d  S)Nr   r   )r#   create_tag_default
create_tagset_timeout_lastset_timeoutcreate_tag_expressionset_timeout_none)r$   r   r%   r%   r&   r"   S   s    	zParenMatch.set_stylec             C   sW   t  |  j d  j   } | d  k r2 |  j   d  S|  j   |  j |  |  j   d  S)Ninsert)r   r   get_surrounding_bracketswarn_mismatchedr*   r-   r.   )r$   eventindicesr%   r%   r&   flash_paren_event\   s    

zParenMatch.flash_paren_eventc             C   s   |  j  j d  } | t k r" d  St |  j d  } | j   sD d  S| j t | d  } | d  k rt |  j   d  S|  j   |  j	 |  |  j
   d  S)Nz	insert-1cT)r   get_openersr   r   Z
is_in_coder3   r4   r*   r-   r/   )r$   r5   ZcloserZhpr6   r%   r%   r&   paren_closed_eventf   s    

zParenMatch.paren_closed_eventNc             C   s-   |  j  j d  |  j   |  j d 7_ d  S)Nparenr   )r   Z
tag_deleter+   r    )r$   r5   r%   r%   r&   r   v   s    
zParenMatch.restore_eventc             C   s   | |  j  k r |  j   d  S)N)r    r   )r$   Ztimer_countr%   r%   r&   handle_restore_timer{   s    zParenMatch.handle_restore_timerc             C   s   |  j  r |  j j   d  S)N)BELLr   r   )r$   r%   r%   r&   r4      s    	zParenMatch.warn_mismatchedc             C   s1   |  j  j d | d  |  j  j d |  j  d  S)Nr;   r   )r   tag_add
tag_configHILITE_CONFIG)r$   r6   r%   r%   r&   r,      s    zParenMatch.create_tag_defaultc             C   sk   |  j  j | d  d k r- | d d } n
 | d } |  j  j d | d |  |  j  j d |  j  d  S)	Nr   r   r   r   z+1cr;   r   )r   r   r   )r   r8   r>   r?   r@   )r$   r6   Z
rightindexr%   r%   r&   r0      s
    
z ParenMatch.create_tag_expressionc             C   sP   |  j  d 7_  |  |  j  |  j j d  d d  } |  j j j t | |  d  S)Nr   r2   c             S   sE   | | j  j d  k r( | j |  n | j j j t |  |   d  S)Nr2   )r   indexr<   r   
text_frameafterCHECK_DELAY)callmer$   crA   r%   r%   r&   rE      s    z+ParenMatch.set_timeout_none.<locals>.callme)r    r   rA   r   rB   rC   rD   )r$   rE   r%   r%   r&   r1      s    	zParenMatch.set_timeout_nonec             C   s;   |  j  d 7_  |  j j j |  j |  |  j  d d   d  S)Nr   c             S   s   |  j  |  S)N)r<   )r$   rF   r%   r%   r&   <lambda>   s    z-ParenMatch.set_timeout_last.<locals>.<lambda>)r    r   rB   rC   FLASH_DELAY)r$   r%   r%   r&   r.      s    zParenMatch.set_timeout_last)r   r   )r   r   r   r   )__name__
__module____qualname__Zmenudefsr   Z	GetOptionr#   rH   ZGetHighlightZCurrentThemer@   r=   r   r(   r'   r*   r+   r"   r7   r:   r   r<   r4   r,   r0   r1   r.   r%   r%   r%   r&   r      s2   	 	
r   __main__Nz!idlelib.idle_test.test_parenmatch	verbosity   )
Zidlelib.HyperParserr   Zidlelib.configHandlerr   r9   rD   r   rI   Zunittestmainr%   r%   r%   r&   <module>   s   