Sindbad~EG File Manager
�
%Μg$ � � � d Z ddlmZ ddlmZ dddd�ZdZ G d � d
� Zej � e dk( rddl
mZ ed
d�� yy)z�ParenMatch -- for parenthesis matching.
When you hit a right paren, the cursor should move briefly to the left
paren. Paren here is used generically; the matching applies to
parentheses, square brackets, and curly braces.
� )�HyperParser)�idleConf�(�[�{��)�]�}�d c � � e Zd ZdZdZdZd� Zed� � Zd� Z d� Z
d� Zd � Zd
� Z
dd�Zd
� Zd� Zd� Zd� Zeeeed�Zd� Zd� Zy)�
ParenMatcha' Highlight matching openers and closers, (), [], and {}.
There are three supported styles of paren matching. When a right
paren (opener) is typed:
opener -- highlight the matching left paren (closer);
parens -- highlight the left and right parens (opener and closer);
expression -- highlight the entire expression from opener to closer.
(For back compatibility, 'default' is a synonym for 'opener').
Flash-delay is the maximum milliseconds the highlighting remains.
Any cursor movement (key press or click) before that removes the
highlight. If flash-delay is 0, there is no maximum.
TODO:
- Augment bell() with mismatch warning in status window.
- Highlight when cursor is moved to the right of a closer.
This might be too expensive to check.
z<<parenmatch-check-restore>>)z
<KeyPress>z
<ButtonPress>z<Key-Return>z<Key-BackSpace>c � � || _ |j | _ |j j | j | j � d| _ d| _ y )Nr )�editwin�text�bind�RESTORE_VIRTUAL_EVENT_NAME�
restore_event�counter�is_restore_active)�selfr s �//usr/local/lib/python3.12/idlelib/parenmatch.py�__init__zParenMatch.__init__( sH � �����L�L�� � �����$�9�9��,�,� .����!"��� c � � t j dddd�� | _ t j ddddd� � | _ t j ddd
dd� � | _ t j
t j � d
� | _ y )N�
extensionsr �style�opener)�defaultzflash-delay�inti� )�typer �bell�bool� �hilite)r � GetOption�STYLE�FLASH_DELAY�BELL�GetHighlight�CurrentTheme�
HILITE_CONFIG)�clss r �reloadzParenMatch.reload3 s{ � ��&�&���g�x�A�� �"�,�,��\�-�e�C�Q����%�%��\�&�v�q�J���$�1�1�(�2G�2G�2I�2:�<��r c � � | j s?| j D ]( }| j j | j |� �* d| _ yy)z5Activate mechanism to restore text from highlighting.TN)r �RESTORE_SEQUENCESr � event_addr �r �seqs r �activate_restorezParenMatch.activate_restore>