python (3.12.0)
̑e$ d Z ddlmZ ddlmZ ddddZdZ G d d
Zej e dk( rddl
mZ ed
d yy)zParenMatch -- 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
ddZd
Zd Zd Zd ZeeeedZd 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 )editwintextbindRESTORE_VIRTUAL_EVENT_NAME
restore_eventcounteris_restore_active)selfr s F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/idlelib/parenmatch.py__init__zParenMatch.__init__( sH LL $99,, .!" c t j dddd | _ t j ddddd | _ t j ddd
dd | _ t j
t j d
| _ y )N
extensionsr styleopener)defaultzflash-delayinti )typer bellbool hilite)r GetOptionSTYLEFLASH_DELAYBELLGetHighlightCurrentTheme
HILITE_CONFIG)clss r reloadzParenMatch.reload3 s{ &&gxA ",,\-eCQ%%\&vqJ$11(2G2G2I2:<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>