£Á°è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>
B
    YI~d$                 @   sb   d dl mZ d dlmZ ddddZdZG dd	 d	Ze  ed
kr^d dl	m
Z
 e
ddd dS )    )HyperParser)idleConf([{))]}d   c               @   s   e Zd ZdZdZdd Ze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eeeedZdd Zdd  ZdS )"
ParenMatchz<<parenmatch-check-restore>>)z
<KeyPress>z<ButtonPress>z<Key-Return>z<Key-BackSpace>c             C   s0   || _ |j| _|j| j| j d| _d| _d S )Nr   )editwintextZbindRESTORE_VIRTUAL_EVENT_NAMErestore_eventcounteris_restore_active)selfr    r   7/opt/alt/python37/lib64/python3.7/idlelib/parenmatch.py__init__(   s    
zParenMatch.__init__c             C   sV   t jddddd| _t jdddddd	| _t jddd
ddd	| _t t  d| _d S )N
extensionsr   Zstyleopener)defaultzflash-delayinti  )typer   bellbool   Zhilite)r   Z	GetOptionSTYLEFLASH_DELAYBELLZGetHighlightZCurrentThemeHILITE_CONFIG)clsr   r   r   reload3   s    
zParenMatch.reloadc             C   s0   | j s,x| jD ]}| j| j| qW d| _ d S )NT)r   RESTORE_SEQUENCESr   Z	event_addr   )r   seqr   r   r   activate_restore>   s    zParenMatch.activate_restorec             C   s0   | j r,x| jD ]}| j| j| qW d| _ d S )NF)r   r$   r   Zevent_deleter   )r   r%   r   r   r   deactivate_restoreE   s    zParenMatch.deactivate_restorec             C   s   t | jd }| | dS )Ninsertbreak)r   r   get_surrounding_bracketsfinish_paren_event)r   eventindicesr   r   r   flash_paren_eventL   s    
zParenMatch.flash_paren_eventc             C   sN   | j d}|tkrd S t| jd}| s0d S |t| d}| | d S )Nz	insert-1cT)r   get_openersr   r   Z
is_in_coder*   r+   )r   r,   ZcloserZhpr-   r   r   r   paren_closed_eventS   s    
zParenMatch.paren_closed_eventc             C   sT   |d kr| j r| j  d S |   | j| j| j| | | jrH| j	n| j
  d S )N)r    r   r   r&   tagfuncsr/   r   create_tag_expressionr   set_timeout_lastset_timeout_none)r   r-   r   r   r   r+   `   s    
zParenMatch.finish_paren_eventNc             C   s&   | j d |   |  jd7  _d S )Nparenr   )r   Z
tag_deleter'   r   )r   r,   r   r   r   r   k   s    zParenMatch.restore_eventc             C   s   || j kr|   d S )N)r   r   )r   Ztimer_countr   r   r   handle_restore_timerq   s    
zParenMatch.handle_restore_timerc             C   s&   | j d|d  | j d| j d S )Nr6   r   )r   tag_add
tag_configr!   )r   r-   r   r   r   create_tag_openerx   s    zParenMatch.create_tag_openerc             C   sb   | j |d dkr"|d d }n|d }| j d|d |d d |d | | j d| j d S )Nr   )r   r   r	   z+1cr6   r   z-1c)r   r/   r8   r9   r!   )r   r-   
rightindexr   r   r   create_tag_parens}   s
    $zParenMatch.create_tag_parensc             C   sR   | j |d dkr"|d d }n|d }| j d|d | | j d| j d S )Nr   )r   r   r	   z+1cr6   r   )r   r/   r8   r9   r!   )r   r-   r;   r   r   r   r3      s
    z ParenMatch.create_tag_expression)r   r   ZparensZ
expressionc             C   s>   |  j d7  _ | | j | jdfdd}| jjt|| d S )Nr   r(   c             S   s2   ||j dkr|| n|jjt| |  d S )Nr(   )r   indexr7   r   
text_frameafterCHECK_DELAY)callmer   cr=   r   r   r   rA      s    z+ParenMatch.set_timeout_none.<locals>.callme)r   r   r=   r   r>   r?   r@   )r   rA   r   r   r   r5      s    zParenMatch.set_timeout_nonec             C   s0   |  j d7  _ | jj| j| | j fdd d S )Nr   c             S   s
   |  |S )N)r7   )r   rB   r   r   r   <lambda>       z-ParenMatch.set_timeout_last.<locals>.<lambda>)r   r   r>   r?   r   )r   r   r   r   r4      s    zParenMatch.set_timeout_last)N)__name__
__module____qualname__r   r$   r   classmethodr#   r&   r'   r.   r1   r+   r   r7   r:   r<   r3   r2   r5   r4   r   r   r   r   r      s(   
	
r   __main__)mainz!idlelib.idle_test.test_parenmatch   )	verbosityN)Zidlelib.hyperparserr   Zidlelib.configr   r0   r@   r   r#   rE   ZunittestrJ   r   r   r   r   <module>   s    &