Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/idlelib/__pycache__/codecontext.cpython-38.opt-2.pyc
U

@��g�,�@s�ddlZddlmZddlmZmZmZddlm	Z	m
Z
ddlmZdddd	d
ddd
ddddhZ
e�d�fdd�Zdd�ZGdd�d�Ze��edkr�ddlmZedddd�dS)�N)�maxsize)�Frame�Text�TclError)�NSEW�SUNKEN)�idleConf�class�def�if�elif�else�while�for�try�except�finally�with�asyncz^(\s*)(\w*)cCs|�|���S�N)�match�groups)�codeline�c�r�2/opt/cppython/lib/python3.8/idlelib/codecontext.py�get_spaces_firstwordsrcCsFt|�\}}t|�}t|�|ks,||dkr0t}|tko:|}|||fS)N�#)r�len�INFINITY�BLOCKOPENERS)rZspacesZ	firstword�indent�openerrrr�
get_line_infosr#c@sreZdZdZdd�Zdd�Zedd��Zdd	�Zddd�Z	ddd�Z
dd�Zddd�Zdd�Z
dd�Zdd�Zd
S)�CodeContext�dcCs||_|j|_|��dSr)�editwin�text�_reset)�selfr&rrr�__init__1szCodeContext.__init__cCs$d|_d|_d|_d|_dg|_dS)N�)r����F)�context�cell00�t1�
topvisible�info�r)rrrr(Fs
zCodeContext._resetcCstjdddddd�|_dS)N�
extensionsr$Zmaxlines�int�)�type�default)rZ	GetOption�
context_depth)�clsrrr�reloadMs
�zCodeContext.reloadcCs<|jdk	r8z|j�|j�Wntk
r0YnXd|_dSr)r0r'�after_cancelrr3rrr�__del__Ts
zCodeContext.__del__Nc

Csv|jdk�r |jj|jjf}d}d}|D]`}||jjkr@|��n|��}||j�|d�7}||j�|�d��7}||j�|�d��7}q(t	|jjddd||t
dd�}|_|��|��|�
d|j�|��|jddtd�t�t��d	�}t|jj|d
d�|_|jjddtd�d}	n:|j��d|_|j��d|_|j�|j�|��d
}	|jjdd|	�d�d�dS)Nr�padx�borderr+�disabled)�height�widthZhighlightthicknessr>r?Zrelief�statez<ButtonRelease-1>)�row�columnZsticky�
linenumber�
background��bgZHideZShow�optionsz*ode*ontextz
 Code Context)Zmenu�indexZlabel�break)r.r&r'Z
text_frameZ	grid_infoZ	pack_infoZtkZgetintZcgetrr�update_font�update_highlight_colors�bind�
jumptoline�timer_eventZgridrr�GetHighlight�CurrentThemerr/Zdestroyr<r0r(Zupdate_menu_label)
r)�eventZwidgetsr>r?Zwidgetr2r.�line_number_colorsZmenu_statusrrr�toggle_code_context_event]s\
�
��
��


�z%CodeContext.toggle_code_context_eventr+rcCs�g}t}t||dd�D]z}|j�|�d�|�d��}t|�\}}	}
||kr|}|
dkr`|d7}|
r�||kr�||kr�|�|||	|
f�||krq�q|��||fS)Nr+r,�.0z.end)r
r)r�ranger'�getr#�append�reverse)r)�new_topvisibleZstopline�
stopindent�lines�
lastindentZlinenumrr!r'r"rrr�get_context�s
zCodeContext.get_contextcCsB|j�d�}|j|krdS|j|krT|�||j�\}}|jdd|kr�|jd=q6n\|jddd}|jdd|kr�|jdd}|jd=qf|�||jddd|�\}}|j�|�||_dd�|j|jd�D�}|dr�dnd}t|�||jd<d|jd	<|j�	d
d�|j�
dd�||d���d
|jd	<dS)Nz@0,0r,r+rcSsg|]}|d�qS)�r)�.0�xrrr�
<listcomp>�sz3CodeContext.update_code_context.<locals>.<listcomp>rAZnormalrCz1.0�end�
r@)r&Z	getlinenor1r`r2�extendr9rr.�delete�insert�join)r)r\r^r_r]Zcontext_stringsZ	showfirstrrr�update_code_context�s4

�
�
zCodeContext.update_code_contextcCs�z|j�d�Wn�tk
r�t|j�}|dkr8d}n:tt|j�d���}td||j�d}|j||d}|j	�
|�d��|��YnXdS)Nz	sel.firstr+rirrW)r.rKrrr2r5�float�maxr9r'Zyviewrk)r)rTr^ZnewtopZcontextline�offsetrrrrP�s
zCodeContext.jumptolinecCs*|jdk	r&|��|j�|j|j�|_dSr)r.rkr'Zafter�UPDATEINTERVALrQr0r3rrrrQ�s
zCodeContext.timer_eventcCs(|jdk	r$t�|jdd�}||jd<dS)N�mainZEditorWindow�font)r.rZGetFontr')r)rqrrrrM�s
zCodeContext.update_fontcCsf|jdk	r6t�t��d�}|d|jd<|d|jd<|jdk	rbt�t��d�}|jj|dd�dS)Nr.rGZ
foregroundrFrH)r.rrRrSr/Zconfig)r)ZcolorsrUrrrrN�s


�z#CodeContext.update_highlight_colors)N)r+r)N)�__name__�
__module__�__qualname__ror*r(�classmethodr;r=rVr`rkrPrQrMrNrrrrr$-s
	
8
(
r$�__main__)rpz"idlelib.idle_test.test_codecontextraF)�	verbosity�exit)�re�sysrr�tkinterrrrZtkinter.constantsrrZidlelib.configrr �compilerr#r$r;rrZunittestrprrrr�<module>s&�[

F1le Man4ger