B
YI~d$ � @ sb d dl mZ d dlmZ dddd�ZdZG dd � d �Ze�� ed
kr^d dl m
Z
e
dd
d� dS )� )�HyperParser)�idleConf�(�[�{)�)�]�}�d c @ s� e Zd ZdZdZdd� Zedd� �Zdd� Zd d
� Z dd� Z
d
d� Zdd� Zd!dd�Z
dd� Zdd� Zdd� Zdd� Zeeeed�Zdd� Zdd � ZdS )"�
ParenMatchz<>)z
z
zzc C s0 || _ |j| _|j�| j| j� d| _d| _d S )Nr )�editwin�textZbind�RESTORE_VIRTUAL_EVENT_NAME�
restore_event�counter�is_restore_active)�selfr � r �7/opt/alt/python37/lib64/python3.7/idlelib/parenmatch.py�__init__( s
zParenMatch.__init__c C sV t jddddd�| _t jdddddd �| _t jddd
ddd �| _t �t �� d
�| _d S )N�
extensionsr Zstyle�opener)�defaultzflash-delay�inti� )�typer �bell�bool� Zhilite)r Z GetOption�STYLE�FLASH_DELAY�BELLZGetHighlightZCurrentTheme�
HILITE_CONFIG)�clsr r r �reload3 s
zParenMatch.reloadc C s0 | j s,x| jD ]}| j�| j|� qW d| _ d S )NT)r �RESTORE_SEQUENCESr
Z event_addr )r �seqr r r �activate_restore> s zParenMatch.activate_restorec C s0 | j r,x| jD ]}| j�| j|� qW d| _ d S )NF)r r$ r
Zevent_deleter )r r% r r r �deactivate_restoreE s zParenMatch.deactivate_restorec C s t | jd��� }| �|� dS )N�insert�break)r r �get_surrounding_brackets�finish_paren_event)r �event�indicesr r r �flash_paren_eventL s
zParenMatch.flash_paren_eventc C sN | j �d�}|tkrd S t| jd�}|�� s0d S |�t| d�}| �|� d S )Nz insert-1cT)r
�get�_openersr r Z
is_in_coder* r+ )r r, ZcloserZhpr- r r r �paren_closed_eventS s
zParenMatch.paren_closed_eventc C sT |d kr| j r| j�� d S | �� | j�| j| j�| |� | jrH| j n| j
� d S )N)r r
r r&