Current File : //usr/local/apps/python3/lib/python3.11/idlelib/__pycache__/parenmatch.cpython-311.opt-2.pyc
�

�Ke$���	ddlmZddlmZdddd�ZdZGd�d	��Ze���ed
krddl	m
Z
e
dd
���dSdS)�)�HyperParser)�idleConf�(�[�{��)�]�}�dc��eZdZ	dZdZd�Zed���Zd�Zd�Z	d�Z
d�Zd	�Zdd�Z
d�Zd
�Zd�Zd�Zeeeed�Zd�Zd�Zd
S)�
ParenMatchz<<parenmatch-check-restore>>)z
<KeyPress>z
<ButtonPress>z<Key-Return>z<Key-BackSpace>c��||_|j|_|j�|j|j��d|_d|_dS)Nr)�editwin�text�bind�RESTORE_VIRTUAL_EVENT_NAME�
restore_event�counter�is_restore_active)�selfrs  �</usr/local/apps/python3/lib/python3.11/idlelib/parenmatch.py�__init__zParenMatch.__init__(sN������L��	�	����$�9��,�	.�	.�	.����!"�����c��tjdddd���|_tjddddd�	��|_tjddd
dd�	��|_tjtj��d
��|_dS)N�
extensionsr�style�opener)�defaultzflash-delay�inti�)�typer�bell�bool��hilite)r�	GetOption�STYLE�FLASH_DELAY�BELL�GetHighlight�CurrentTheme�
HILITE_CONFIG)�clss r�reloadzParenMatch.reload3s����&���g�x�A�A�A��	�"�,��\�-�e�C�Q�Q�Q����%��\�&�v�q�J�J�J���$�1�(�2G�2I�2I�2:�<�<����rc�|�	|js3|jD]"}|j�|j|���#d|_dSdS)NT)r�RESTORE_SEQUENCESr�	event_addr�r�seqs  r�activate_restorezParenMatch.activate_restore>sZ��?��%�	*��-�
J�
J���	�#�#�D�$C�S�I�I�I�I�%)�D�"�"�"�	*�	*rc�|�	|jr3|jD]"}|j�|j|���#d|_dSdS)NF)rr0r�event_deleterr2s  r�deactivate_restorezParenMatch.deactivate_restoreEsZ��(��!�	+��-�
M�
M���	�&�&�t�'F��L�L�L�L�%*�D�"�"�"�	+�	+rc��	t|jd�����}|�|��dS)N�insert�break)rr�get_surrounding_brackets�finish_paren_event)r�event�indicess   r�flash_paren_eventzParenMatch.flash_paren_eventLs>��K��t�|�X�6�6�,�,�.�.�	�����(�(�(��wrc��	|j�d��}|tvrdSt|jd��}|���sdS|�t|d��}|�|��dS)Nz	insert-1cT)r�get�_openersrr�
is_in_coder;r<)rr=�closer�hpr>s     r�paren_closed_eventzParenMatch.paren_closed_eventSs���&�����{�+�+����!�!��F�
���{�
3�
3���}�}���	��F��-�-�h�v�.>��E�E������(�(�(��rc��|�"|jr|j���dS|���|j�|j|j��||��|jr|j	n|j
��dS�N)r)rr"r4�tagfuncsrAr'�create_tag_expressionr(�set_timeout_last�set_timeout_none�rr>s  rr<zParenMatch.finish_paren_event`s����?�t�y�?��I�N�N�����F�������A��
���$�*�d�&@�A�A�$��P�P�P�
2�$�"2�
2��	�	� �1�	5�	5�	5�	5�	5rNc��	|j�d��|���|xjdz
c_dS)N�parenr$)r�
tag_deleter7r)rr=s  rrzParenMatch.restore_eventksA��'��	���W�%�%�%����!�!�!���������rc�H�||jkr|���dSdSrH)rr)r�timer_counts  r�handle_restore_timerzParenMatch.handle_restore_timerqs/���$�,�&�&���� � � � � �'�&rc��	|j�d|d��|j�d|j��dS)NrOr)r�tag_add�
tag_configr,rMs  r�create_tag_openerzParenMatch.create_tag_openerxsB��5��	���'�7�1�:�.�.�.��	���W�d�&8�9�9�9�9�9rc��	|j�|d��dvr|ddz}n|d}|j�d|d|ddz|dz|��|j�d|j��dS)Nr$r�+1crOrz-1c�rrArUrVr,�rr>�
rightindexs   r�create_tag_parenszParenMatch.create_tag_parens}s���1��9�=�=����$�$��7�7� ���E�)�J�J� ���J��	���'�7�1�:�w�q�z�%�/?��E�AQ�S]�^�^�^��	���W�d�&8�9�9�9�9�9rc��	|j�|d��dvr|ddz}n|d}|j�d|d|��|j�d|j��dS)Nr$rrYrOrrZr[s   rrJz ParenMatch.create_tag_expression�sz��-��9�=�=����$�$��7�7� ���E�)�J�J� ���J��	���'�7�1�:�z�:�:�:��	���W�d�&8�9�9�9�9�9r)rr�parens�
expressionc��	|xjdz
c_||j|j�d��fd�}|jj�t||��dS)Nr$r9c��||j�d��kr|�|��dS|jj�t||��dS)Nr9)r�indexrSr�
text_frame�after�CHECK_DELAY)�callmer�crcs    rrgz+ParenMatch.set_timeout_none.<locals>.callme�sX����	����1�1�1�1��)�)�!�,�,�,�,�,���'�-�-�k�6�6�J�J�J�J�Jr)rrrcrrdrerf)rrgs  rrLzParenMatch.set_timeout_none�sn��	#�
	
������� $��������2�2�	K�	K�	K�	K�	
���%�%�k�6�6�B�B�B�B�Brc��	|xjdz
c_|jj�|j||jfd���dS)Nr$c�,�|�|��SrH)rS)rrhs  r�<lambda>z-ParenMatch.set_timeout_last.<locals>.<lambda>�s��d�.G�.G��.J�.J�r)rrrdrer()rs rrKzParenMatch.set_timeout_last�sY��T�	
����������%�%������J�J�J�	L�	L�	L�	L�	LrrH)�__name__�
__module__�__qualname__rr0r�classmethodr.r4r7r?rFr<rrSrWr]rJrIrLrK�rrrr
s/�������("@��<��	#�	#�	#��<�<��[�<�*�*�*�+�+�+�������	5�	5�	5�����!�!�!�:�:�:�
:�:�:�:�:�:�$�$�#�+�	
�
�H�
C�
C�
C�L�L�L�L�Lrr�__main__)�mainz!idlelib.idle_test.test_parenmatch�)�	verbosityN)�idlelib.hyperparserr�idlelib.configrrBrfrr.rl�unittestrrrprr�<module>rxs����,�+�+�+�+�+�#�#�#�#�#�#����$�$����bL�bL�bL�bL�bL�bL�bL�bL�J�������z����������D�	,��:�:�:�:�:�:��r