Mini Shell

Direktori : /lib64/gedit/plugins/snippets/__pycache__/
Upload File :
Current File : //lib64/gedit/plugins/snippets/__pycache__/snippet.cpython-36.opt-1.pyc

3

�CZM0�@stddlmZmZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
ddlmZGdd�d�ZGd	d
�d
�ZdS)�)�Gio�GtkN�)�PlaceholderEnd�PlaceholderMirror�Placeholder�PlaceholderShell�PlaceholderEval�PlaceholderRegex�PlaceholderExpand)�Parser)�helperc@sHeZdZddd�Zdd�Zddd�Zd	d
�Zdd�Zd
d�Zdd�Z	dS)�
EvalUtilitiesNcCs||_|j�dS)N)�view�_init_namespace)�selfr�r�,/usr/lib64/gedit/plugins/snippets/snippet.py�__init__szEvalUtilities.__init__cCst|j|j|jd�|_dS)N)�__builtins__ZalignZreadfileZfilesize)r�
util_align�
util_readfile�
util_filesize�	namespace)rrrrrszEvalUtilities._init_namespacercCs |dkr|jj�}t|j|��S)Nr)r�
get_tab_width�len�
expandtabs)r�s�tablenrrr�	_real_len's
zEvalUtilities._real_lencCstj|�}|j�S)N)r�file_new_for_pathZget_uri)r�filename�gfilerrr�_filename_to_uri-s
zEvalUtilities._filename_to_uricCs*tj|�j�}|sdS|j�}|j�|S)N�)rr �read�close)rr!�stream�resrrrr2szEvalUtilities.util_readfilecCs&tj|�}|jtj�}|sdS|j�S)Nr)rr Z
query_infoZFILE_ATTRIBUTE_STANDARD_SIZEZget_size)rr!r"�inforrrr=s

zEvalUtilities.util_filesizec	
Cs<g}|jj�}x�tdt|��D]r}xltdt||�d�D]R}|dkrP|jd�|||d7<|j||||�}|||kr:|||<q:WqWd}x�tdt|��D]�}xRtdt||�d�D]8}|||}||dt|||j||�|�7}q�W|||t||�d7}|t|�dkr�|d7}q�W|S)Nrr�	r$�
)rr�ranger�appendr�int)	r�items�maxlenr�row�colZrl�result�itemrrrrFs(

zEvalUtilities.util_align)N)r)
�__name__�
__module__�__qualname__rrrr#rrrrrrrrs

	rc@s�eZdZifdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�SnippetcCs||_||_dS)N)�data�environ)rr9r:rrrrfszSnippet.__init__cCs
|j|S)N)r9)r�proprrr�__getitem__jszSnippet.__getitem__cCs||j|<dS)N)r9)rr;�valuerrr�__setitem__mszSnippet.__setitem__cCs.|d}|r&tj|�\}}tj||�}|p,dS)NZacceleratorr$)rZaccelerator_parseZaccelerator_get_label)r�accelZkeyval�modrrr�accelerator_displayps
zSnippet.accelerator_displaycCsvtj|d�}|d}|j�}g}|r8|dkr8|j|�|rN|dkrN|j|�|sV|S|dtjdj|��dSdS)NZdescription�tagr$z (<b>z, z</b>))r
Z
markup_escaperAr-�join)rZnmrBr?Zdetailrrr�displayys

zSnippet.displaycCsz|j|jkr6|jdkrv|jdj|�|jjj|�n@|jdkr\|g|jd<|jjj|�n||j|j<|jjj|�dS)Nr���rErErE)�tabstop�placeholdersr-�plugin_data�ordered_placeholders)r�placeholderrrr�_add_placeholder�s

zSnippet._add_placeholdercCs<tjd|jtj|j|�jd��}|jj�j|j	�|�dS)Nr+)
�strrC�_indentr
Zspaces_instead_of_tabs�_view�split�
get_buffer�insert�_insert_iter)r�textZindentedrrr�_insert_text�s"zSnippet._insert_textcCs|jj�j|j�S)N)rNrP�get_iter_at_mark�_insert_mark)rrrrrR�szSnippet._insert_itercCs\||jdkr|jd|}nd}tj|j|j��}|t|j�d�}tjd||j	d��S)N�utf8r$r+)
r:r
�compute_indentationrNrRrrMrLrCrO)rr9�valZ
all_indent�indentrrr�_create_environment�szSnippet._create_environmentcCsf|d}|j�}|dkr.t|j|j||d�S||jkrJt|j||j|�St|j||j|d|�SdS)NrFr�default)rRrrNr:rGrr)rr9rF�beginrrr�_create_placeholder�s
zSnippet._create_placeholdercCs$|j�}t|j|d|j||d�S)NrF�contents)rRrrNr:)rr9r]rrr�
_create_shell�szSnippet._create_shellcCs0|j�}t|j|d|j|d||d|jj�S)NrFZdependenciesr_)rRr	rNr:�_utilsr)rr9r]rrr�_create_eval�szSnippet._create_evalc
Cs6|j�}t|j|d|j||d|d|d|d�S)NrF�input�patternZsubstitutionZ	modifiers)rRr
rNr:)rr9r]rrr�
_create_regex�szSnippet._create_regexcCs|S)Nr)rr9rrr�_create_text�szSnippet._create_textcCst|jj�}|jr(|r(|j|j�|j��|j�|jdkrX|jdj	|�}|jd|=n
|j|j=|j
jj|�dS)NrrErErE)rNrPr\�delete�
begin_iter�end_iter�removerFrG�indexrHrI)rrJrj�bufrkrrr�_invalid_placeholder�s



zSnippet._invalid_placeholderc
Cs|j|_tj|j|jj�j|j��|_t|j�|_	i|_
|j|_||_
t|dd�}x�|j�}|sdPy.|j|j|j|j|j|jd�|j|j�}Wn(tk
r�tjjd|j�wVYnXt|t�r�|j|�qV|j|�qVWd|j
k�rt |j|j!|j"�d�|j
d<|j
j#j$|j
d�xx|j
j%�D]j}|dk�rFt&|j
d��pP|j
|g}x<|D]4}|j'|j
�|j(�sz|j)�rX|j*||j(��qXW�q(Wd	|j
k�r�g|j
d
<xT|j
j%�D]F}|j
|}|dk�r�t|t+��r�|j,�r�|j
dj$|�|j
|=�q�Wd|_
dS)
NrS)r9)ZenvironmentrJ�shell�evalZregexrSz#Token class not supported: %s (%s)
rrrErErErErErE)-rrNr
rXrPrU�
begin_markrMrrarG�end_markrVrHr�tokenr[r^r`rbrerf�klassr9�KeyError�sys�stderr�write�
isinstancerLrTrKrr:rirIr-�copy�listZrun_last�ok�donermrZhas_references)rrH�parserrrrYrFZphrJrrr�_parse�sV
&



zSnippet._parsecCs|jj�}d}|j�\}}|r0|jj|�d}n|rB|jj|�}nd}|jd|d�|_|jd|d�|_|j|�t	|jj
�dd�}|jj||jd�|jdj�}xN|D]F}	|	dkr�|	dkr�|j|	}
|
j�}|j
|�dkr�|}|jj||
�q�W|j|j|�|S)NrrTF)�reverserE)rrPZnext_placeholderrGrkZcreate_markrprqr~�sorted�keysrQriZcompareZ	move_mark)rrHrQrlZ
last_indexZcurrent�next�kZ	last_iterrFrJrirrr�insert_into's.



zSnippet.insert_intocCs,|jj�}|j|j�|j|j�i|_dS)N)rprPZdelete_markrqrG)rrlrrr�
deactivateZs
zSnippet.deactivatecCs|jj�j|j�S)N)rprPrU)rrrrrhbszSnippet.begin_itercCs|jj�j|j�S)N)rqrPrU)rrrrrieszSnippet.end_iterN)r5r6r7rr<r>rArDrKrTrRr[r^r`rbrerfrmr~r�r�rhrirrrrr8es(	J3r8)Z
gi.repositoryrrrurJrrrrr	r
rr}rr$r
rr8rrrr�<module>s$K