HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/__pycache__/format.cpython-310.opt-2.pyc
o

�i�=�@s�	ddlZddlmZddlmZddlmZGdd�d�Ze��dd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Ze�d�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�ZedkrkddlmZeddd d!�dSdS)"�N)�askyesno)�
askinteger)�idleConfc@s4eZdZ	dd�Zedd��Zdd�Zd
dd	�ZdS)�FormatParagraphcC�
||_dS�N��editwin��selfr	�r�+/usr/local/lib/python3.10/idlelib/format.py�__init__�
zFormatParagraph.__init__cCstjdddddd�|_dS)N�
extensionsrz	max-width�int�H)�type�default)rZ	GetOption�	max_width)�clsrrr
�reload"s�zFormatParagraph.reloadcCs
d|_dSrr�rrrr
�close'rzFormatParagraph.closeNc	Cs�	|dur|jn|}|jj}|j��\}}|r$|r$|�||�}t|�}nt||�d��\}}}}|r9t|||�}nt	||�}|�
ddd�||krd|�d|�|��|�
||�|�||�|��n|�d|�|�d�dS)N�insert�sel�1.0�end�break)rr	�text�get_selection_indices�get�get_comment_header�find_paragraph�index�reformat_comment�reformat_paragraph�
tag_remove�mark_set�undo_block_start�deleter�undo_block_stopZsee)	r�event�limitr�first�last�data�comment_header�newdatarrr
�format_paragraph_event*s,

�


z&FormatParagraph.format_paragraph_eventr)�__name__�
__module__�__qualname__r�classmethodrrr3rrrr
rs
rc
Cs�	tt|�d��\}}|�d|d|�}|�d|dd�r=t|�r=|d}|�d|d|�}|�d|dd�r=t|�s"|}t|�}t|�}t|�|krqt||d��sq|d}|�d|d|�}t|�|krqt||d��rUd|}|d}|�d|d|�}|dkr�t|�|kr�t||d��s�|d}|�d|d|�}|dkr�t|�|kr�t||d��r�d|d}	|	|||�|	|�fS)N�.z%d.0z%d.end�<r�r)�mapr�splitr!Zcompare�is_all_whiter"�len)
rZmark�lineno�col�lineZfirst_linenor1Zcomment_header_lenr/r.rrr
r#SsB�������r#cCs�	|�d�}d}t|�}||kr$t||�r$|d}||kr$t||�s||kr*|St||�}|d|krGt||d�sGt||d�}n|}|d|�}|}||kr�t||�s�t�d||�}	tdt|	�d�D]:}
|	|
}|stqkt||���|kr�||kr�|�|���|}||d}|
dt|	�kr�|	|
ddkr�|d}qk|d}||kr�t||�r[|�|���|�	||d��d�
|�S)N�
rr:z(\s+)�� )r<r>r=�
get_indent�re�range�
expandtabs�append�rstrip�extend�join)r0r-�lines�i�nZindent1Zindent2�new�partial�words�jZwordrrr
r&xsD
� ��
r&cs�	t���d��fdd�|�d�D��}t|t��d�}t||�}|�d�}d}|ds5d}|dd�}d��fdd�|D��|S)NrBc3s�|]	}|�d�VqdSrr��.0rA)�lcrr
�	<genexpr>�s�z#reformat_comment.<locals>.<genexpr>�����c3s�|]}�|VqdSrrrT)r1rr
rW�s�)r>rLr<�maxr&)r0r-r1Zformat_widthr2Zblock_suffixr)r1rVr
r%�s

r%cCs	t�d|�duS)Nz^\s*$)rF�match�rArrr
r=�sr=cCs	t�d|���S)Nz	^([ \t]*)�rFr\�groupr]rrr
rE�srEcCs$	t�d|�}|dur
dS|�d�S)Nz^([ \t]*#*)rYr:r^)rA�mrrr
r"�s
r"z[ \t]*cCs&	t�|�}|��t|���|��fSr)�_line_indent_rer\rr>r_rH)rA�tabwidthr`rrr
�get_line_indent�s
rcc@sjeZdZ	dd�Zdd�Zdd�Zddd	�Zdd
d�Zddd
�Zddd�Z	ddd�Z
ddd�Zdd�ZdS)�FormatRegioncCrrrr
rrr
r�rzFormatRegion.__init__cCst	|jj}|j��\}}|r|r|�|d�}|�|d�}n
|�d�}|�d�}|�||�}|�d�}||||fS)Nz
 linestartz-1c lineend +1czinsert linestartzinsert lineend +1crB)r	rr r$r!r<)rrr.r/�head�tail�charsrMrrr
�
get_region�s	


zFormatRegion.get_regioncCs|	|jj}d�|�}||kr|��dS|�ddd�|�d|�|��|�||�|�||�|�	�|�
d|d�dS)NrBrrrr)r	rrLZbellr'r(r)r*rr+Ztag_add)rrerfrgrMr�newcharsrrr
�
set_region�s

zFormatRegion.set_regionNc
Cs~	|��\}}}}tt|��D]%}||}|r4t||jj�\}}	|	|jj}	|j�|	�||d�||<q|�||||�dS�Nr)	rhrGr>rcr	rb�indentwidth�_make_blanksrj�
rr,rerfrgrM�posrA�raw�	effectiverrr
�indent_region_events�z FormatRegion.indent_region_eventc
Cs�	|��\}}}}tt|��D](}||}|r7t||jj�\}}	t|	|jjd�}	|j�|	�||d�||<q|�	||||�dS)Nrr)
rhrGr>rcr	rbr[rlrmrjrnrrr
�dedent_region_events�z FormatRegion.dedent_region_eventcCsP	|��\}}}}tt|�d�D]}||}d|||<q|�||||�dS)Nr:�##r�rhrGr>rj�rr,rerfrgrMrorArrr
�comment_region_event sz!FormatRegion.comment_region_eventcCs�	|��\}}}}tt|��D]*}||}|sq|dd�dkr'|dd�}n|dd�dkr5|dd�}|||<q|�||||�dS)NrCrtr:�#rrurvrrr
�uncomment_region_event,s
z#FormatRegion.uncomment_region_eventc
Cs�	|��\}}}}|��}|durdStt|��D]&}||}|r?t||�\}	}
t|
|�\}}d|d|||	d�||<q|�||||�dS)N�	rDr)rh�_asktabwidthrGr>rc�divmodrj)
rr,rerfrgrMrbrorArprqZntabsZnspacesrrr
�tabify_region_event?s �z FormatRegion.tabify_region_eventcCs^	|��\}}}}|��}|durdStt|��D]}||�|�||<q|�||||�dSrk)rhr{rGr>rHrj)rr,rerfrgrMrbrorrr
�untabify_region_eventNsz"FormatRegion.untabify_region_eventcCs	tdd|jj|jjddd�S)Nz	Tab widthzColumns per tab? (2-16)rC���parentZinitialvalueZminvalue�maxvalue)rr	rrlrrrr
r{Ys�zFormatRegion._asktabwidthr)
r4r5r6rrhrjrrrsrwryr}r~r{rrrr
rd�s





rdc@s&eZdZ	dd�Zdd�Zdd�ZdS)�IndentscCrrrr
rrr
rgrzIndents.__init__cCsJ|j}|j}tddd|dd|dd|jd�r#||_d	|_d
S)NzToggle tabsz
Turn tabs )ZonZoffz?
Indent width )zwill bez
remains atz 8.z!
 Note: a tab is always 8 columns)r��r)r	�usetabsrrrl)rr,r	r�rrr
�toggle_tabs_eventjs$
�����zIndents.toggle_tabs_eventcCs<|j}tdd|j|jddd�}|r||jkr|js||_dS)NzIndent widthz6New indent width (2-16)
(Always use 8 when using tabs)rCrr�r)r	rrrlr�)rr,r	rPrrr
�change_indentwidth_eventzs�z Indents.change_indentwidth_eventN)r4r5r6rr�r�rrrr
r�ds
r�c@seZdZdd�Zddd�ZdS)�RstripcCrrrr
rrr
r�rzRstrip.__init__Nc	Cs�|jj}|jj}|��tt|�d���}td|�D]&}|�d|d|�}t	|�}t	|�
��}||kr@|�d||fd|�q|�d�dkrot|jd�so|�d	�d
kro|�d�dkro|�d�|�d	�d
kro|�d�dks\|�
�dS)Nrr:z%i.0z%i.endz%i.%izend-2crBZinterpzend-1crzend-3c)r	r�undor)r�floatr$rGr!r>rJr*�hasattrr+)	rr,rr�Zend_lineZcurZtxtrpZcutrrr
�	do_rstrip�s(�
�
�zRstrip.do_rstripr)r4r5r6rr�rrrr
r��sr��__main__)�mainzidlelib.idle_test.test_formatrCF)�	verbosity�exit)rFZtkinter.messageboxrZtkinter.simpledialogrZidlelib.configrrrr#r&r%r=rEr"�compilerarcrdr�r�r4Zunittestr�rrrr
�<module>s.C%$


$ �