Uname:Linux server17213-10344.hostycare.online 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64

403WebShell
403Webshell
Server IP : 103.243.232.44  /  Your IP : 216.73.216.69
Web Server : LiteSpeed
System : Linux server17213-10344.hostycare.online 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User : iamakash ( 1400)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib64/gedit/plugins/snippets/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib64/gedit/plugins/snippets/__pycache__/document.cpython-39.pyc
a

�1�aD��@s�ddlZddlZddlmZmZmZmZmZmZddl	m
Z
ddlmZddl
mZddlmZddlmZdd	lmZdd
lmZz&ddlZe�d�e�d�ejZWndd
�ZYn0Gdd�de�ZGdd�dejeje�ZdS)�N)�Gtk�Gdk�Gio�GLib�Gedit�GObject�)�Library)�Snippet)�PlaceholderEnd)�
completion)�Signals)�
SharedData)�helperZgeditcCs|S�N�)�srr�-/usr/lib64/gedit/plugins/snippets/document.py�<lambda>%�rc@seZdZdd�ZdS)�DynamicSnippetcCs||d<d|_dS)N�textT)�valid)�selfrrrr�__init__(szDynamicSnippet.__init__N)�__name__�
__module__�__qualname__rrrrrr'src@seZdZejejfZejfZe	j
ejd�Z
dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Z d(d)�Z!d*d+�Z"d,d-�Z#d.d/�Z$d0d1�Z%d2d3�Z&d4d5�Z'd6d7�Z(d8d9�Z)d:d;�Z*d<d=�Z+d>d?�Z,d@dA�Z-dBdC�Z.dDdDifdEdF�Z/dxdGdH�Z0dIdJ�Z1dKdL�Z2dMdN�Z3dydPdQ�Z4dRdS�Z5dTdU�Z6dVdW�Z7dXdY�Z8dZd[�Z9d\d]�Z:gfd^d_�Z;d`da�Z<dbdc�Z=ddde�Z>dfdg�Z?dhdi�Z@djdk�ZAdldm�ZBdndo�ZCdpdq�ZDdrds�ZEdtdu�ZFdvdw�ZGdDS)z�Document)�typecCsbtj�|�t�|�g|_g|_d|_g|_g|_g|_	d|_
d|_t�
td�|j
|j�|_dS)Nr�Snippets)r�Objectrr
�placeholders�active_snippets�active_placeholder�ordered_placeholders�update_placeholders�jump_placeholders�language_id�timeout_update_idr�Provider�_�on_proposal_activated�provider�rrrrr2s
zDocument.__init__cCs�t��d�|j��}|�|jd|j�|�|d|j�|�|jd|j�|�|jd|j	�|�
�|j��}|�|j
�t��|j|�dS)Nzkey-press-eventznotify::language�drag-data-receivedZdraw)r	�ref�view�
get_buffer�connect_signal�on_view_key_press�on_notify_language�on_drag_data_received�connect_signal_after�on_draw�update_language�get_completionZadd_providerr-rZregister_controller)r�bufrrrr�do_activateBs

zDocument.do_activatecCs�|jdkr4t�|j�d|_|jdd�=|jdd�=t��d�d|_|�|j	�|�|j	�
��t|j�D]}|�
|d�ql|j	��}|r�|�|j�|jdkr�t��|j�t��|j	|�dS)NrT)r)rZ
source_remover&r'r	�unrefr$Zdisconnect_signalsr1r2�listr#�deactivate_snippetr:Zremove_providerr-r(rZunregister_controller)r�snippetrrrr�
do_deactivateUs"


zDocument.do_deactivatecCs�|j����}|dur$|jdur$dS|r:|��|jkr:dS|j}|rP|��|_nd|_|dkrjt��|�t��|j�|j|j_t	��
|j���dS�Nr)r1r2Zget_languager(Zget_idr	r=r0r-rZupdate_state�get_toplevel)r�langZlangidrrrr9ts
zDocument.update_languagecCs�|jr|j��sdSt�||�}t��||j�}t|�dkr@dSt|�dkr\|�|d�n>t	�
td�|j|j�}|�
|�|j��}|�|g|�d��dS)NFrrr T)r1�get_editablerZaccelerator_namer	Zfrom_acceleratorr(�len�
apply_snippetrr*r+r,�
set_proposalsr:�show�create_context)r�keyval�modZaccelerator�snippetsr-�cmrrr�accelerator_activate�s�

zDocument.accelerator_activatecCs>|j��}|�|d|j�|�|d|j�|�|d|j�dS�NZchanged�cursor-movedzinsert-text)r1r2r3�on_buffer_changed�on_buffer_cursor_movedr7�on_buffer_insert_text�rr;rrr�first_snippet_inserted�s
zDocument.first_snippet_insertedcCs2|j��}|�|d�|�|d�|�|d�dSrP)r1r2Zdisconnect_signalrUrrr�last_snippet_removed�s
zDocument.last_snippet_removedcCs�|j��}|�|���}g}|jD]:}|��}|��}|�|�dkr"|�|�dkr"|�|�q"|j	|vrn|j	St
|�dkr�|dSdSdSrB)r1r2�get_iter_at_mark�
get_insertr"�
begin_iter�end_iter�compare�appendr$rF)rr;�piter�found�placeholder�begin�endrrr�current_placeholder�s


zDocument.current_placeholdercs�|j��}|�|���}d}}}t|j��t|j�}|jr�|j��}|j�	�}	|�
|�dkr�|�
|	�dkr�|j}|�|j�}
|dkr�dd�}�fdd�}ndd�}dd�}td��D]Z}
||
}|��}|�	�}	||||	|�r�|}|�
|�dkr�|�
|	�dkr�|dur�|
}
|}q�|�r�||k�r�|���
|���dk�sT|�	��
|���dk�r�|j�r�|���
|j���dk�r�|j}|�|�}
|�r�||
��r�||
|}n |�r�|}n�dk�r�|jd}||fS)NrrcSs&|�|�dko$|p$|�|���dkSrB�r\rZ��w�x�y�zrrrr�sz.Document.advance_placeholder.<locals>.<lambda>cs|�dkS�Nrr�rg��lengthrrr�rcSs&|�|�dko$|p$|�|���dkSrBrdrerrrr�scSs|dkSrBrrkrrrr�r)
r1r2rXrYrFr"r>r$rZr[r\�index�range)r�	directionr;r^r_�current�nextr"rarbZcurrentIndexZnearestZindexerrnr`rrlr�advance_placeholder�s`




������



zDocument.advance_placeholdercCs
|�d�Srj�rsr.rrr�next_placeholderszDocument.next_placeholdercCs
|�d�S)N���rtr.rrr�previous_placeholderszDocument.previous_placeholdercCs|j��}|j�|���dSr)r1r2�scroll_mark_onscreenrYrUrrr�cursor_on_screen	s
zDocument.cursor_on_screencCs
||_dSr)r$�rr`rrr�set_active_placeholder
szDocument.set_active_placeholdercCs�d}|r,|j����|��|jtkr,|}|�|�|r�|��|jtkrR|}nRt|j	�dkr�|�
�|jkr�t�
|j�}|�|j	�|j��}|�|g|�d��|r�t|j�D] }|jd|kr�|�|�q�q�|��|dkS)Nrr)r1r:�hide�leave�	__class__rr{ZenterrF�defaults�get_text�defaultrZDefaults�on_default_activated�set_defaultsrIrJr>r#r"r?ry)rrqrr�lastr-rNr@rrr�goto_placeholders.




zDocument.goto_placeholdercCs|��\}}|�||�Sr)rur�)rrqrrrrr�skip_to_next_placeholder4sz!Document.skip_to_next_placeholdercCs|��\}}|�||�Sr)rwr�)rrq�prevrrr�skip_to_previous_placeholder8sz%Document.skip_to_previous_placeholdercCsX|����}|r|��dkr |Szt�|d|��d�}|dWStjyRYn0|S)NzUTF-8rvr)�get_fileZget_encodingZget_charsetrZconvertZGError)rr;r�encZcvrrr�string_in_native_doc_encoding<s
z&Document.string_in_native_doc_encodingcCs<|��}|r4|�|d|dd�}||�||�d�SdSdS)NrrF��utf8�noenc�)�get_selection_boundsr�r�)rr;�bounds�u8rrr�env_get_selected_textJs
zDocument.env_get_selected_textcCs.t�|�\}}|�||d�}||�||�d�S�NFr�)r�buffer_word_boundaryr�r��rr;�startrbr�rrr�env_get_current_wordTszDocument.env_get_current_wordcCs.t�|�\}}|�||d�}||�||�d�Sr�)r�buffer_line_boundaryr�r�r�rrr�env_get_current_line[szDocument.env_get_current_linecCst�|�\}}t|��d�Srj)rr��str�get_line)rr;r�rbrrr�env_get_current_line_numberbsz$Document.env_get_current_line_numbercCs6|sddd�S|��}|�d�r(d|}||��d�S)Nr�r��filezfile://)�get_parse_name�has_uri_schemeZget_uri)r�locationr�rrr�location_uri_for_envgs

zDocument.location_uri_for_envcCsF|r>z|�ddd�}|��}Wnd}Yn0||��d�SdSdS)Nzstandard::display-namerr�r�)Z
query_infoZget_display_nameZget_basename)rr��infoZdisplay_namerrr�location_name_for_envrs
�zDocument.location_name_for_envcCs|r|��SdSdS�Nr�)Zget_uri_scheme�rr�rrr�location_scheme_for_envsz Document.location_scheme_for_envcCs(|r |�d�r |��|��d�SdSdS�Nr�r�r�)r�r��get_pathr�rrr�location_path_for_env�s
�zDocument.location_path_for_envcCs0|r,|��}|r,|�d�r,|��|��d�SdSr�)Z
get_parentr�r�r�)rr��parentrrr�location_dir_for_env�s�zDocument.location_dir_for_envcCs�|j|j|j|j|jd�}|D]d}|||�}|d|}t|t�rf|d|d|<|d|d|<q||d|<t|�|d|<q|S)N)ZURI�NAMEZSCHEME�PATH�DIRr+r�r�)r�r�r�r�r��
isinstance�dictr�)r�environr��prefix�parts�k�v�keyrrr�env_add_for_location�s�
zDocument.env_add_for_locationcCs|��}|r|SdSdSr�)Z
get_mime_type)rr;�typrrr�env_get_document_type�szDocument.env_get_document_typecCs�|j��}ggd�}t|tj�r�|��D]f}|�|�����}t|t	�rn|d�
|d�|d�
|d�q(|d�
|�|d�
t|��q(d�|d�d�|d�d�S�Nr�r�r�� )
r1rCr�r�Window�
get_documentsr�r��get_locationr�r]r��join)rr;�toplevelZ
documents_uri�doc�rrrr�env_get_documents_uri�s


�zDocument.env_get_documents_uricCs�|j��}ggd�}t|tj�r�|��D]f}|�|�����}t|t	�rn|d�
|d�|d�
|d�q(|d�
|�|d�
t|��q(d�|d�d�|d�d�Sr�)
r1rCr�rr�r�r�r�r�r�r]r�r�)rr;r�Zdocuments_pathr�r�rrr�env_get_documents_path�s


�zDocument.env_get_documents_pathcCs�|j��}iid�}tjD]2}tj|}||d|<tj|�d�|d|<q|j|j|j|j|j	|j
|jd�}|D]X}|||�}t|t
�r�|d|d|<|d|d|<qt||d|<t|�|d|<qt|�||����d�|S)Nr�r��utf-8r�)ZGEDIT_SELECTED_TEXTZGEDIT_CURRENT_WORDZGEDIT_CURRENT_LINEZGEDIT_CURRENT_LINE_NUMBERZGEDIT_CURRENT_DOCUMENT_TYPEZGEDIT_DOCUMENTS_URIZGEDIT_DOCUMENTS_PATHZGEDIT_CURRENT_DOCUMENT)r1r2�osr��encoder�r�r�r�r�r�r�r�r�r�r�r�r�)rr;r�r�r�Z	variables�varrrr�get_environment�s.



�
zDocument.get_environmentcCs4t�d|d�}|D]}t|�ddkrdSqdS)Nz(\\*)\$GEDIT_CURRENT_WORDr�rTF��re�findallrF�rr@�matches�matchrrr�uses_current_word�s
zDocument.uses_current_wordcCs4t�d|d�}|D]}t|�ddkrdSqdS)Nz(\\*)\$GEDIT_CURRENT_LINErr�rTFr�r�rrr�uses_current_lines
zDocument.uses_current_lineNcCs`|js
dS|��}|rZ|dD]}|d||d|<q|dD]}|d||d|<q@|j��}t||�}|s�|�|���}|s�|�|���}|�|�r�|�	|�r�t
�|�\}}n"|�|�r�|�|�r�t
�
|�\}}|��\}	}
|	r�|	jtkr�|�|	d�t|j�dk�r|�|d�|��|�||�t|j�dk�rR|��|�|d�|�||�}|j�|�dd�|j��D�}t|�dk�r�d|jv�r�|�|j|jd�n|�|���n|�|j|j|d�|�|d�||jv�rJ|�|���}
|� �}|j�!|
�}|j�!|�}|j"|j#|j"|j�$�j#k�rJ|j�%|j&�|�'�|j�(�dS)	NFr�r�rrQcSsg|]}|dkr|�qS)rr)�.0rgrrr�
<listcomp>Brz*Document.apply_snippet.<locals>.<listcomp>T))rr�r1r2r
rXrYZget_selection_bound�equalr�rr�r�r�rur~rr�rFr#Zblock_signal�begin_user_action�deleterVZinsert_intor]r"�keysr$Zplace_cursorrZZunblock_signalr[�get_iter_locationrh�height�get_visible_rectrx�end_mark�end_user_action�
grab_focus)rr@r�rbr��envr�r;rrqrrZsnr�Zcurr�ZcurlocZlastlocrrrrG
sb


�
zDocument.apply_snippetcCs�|s|�|���}|��}d}d}|��rv|��}t�|�sp|rLt�|�rLqv|�|�svt�	|���sv|�
�qLqvd}q"|�|�s�|�||d�}|r�|dkr�|||fSdS)NTFr�)NNN)rXrY�copyZ
backward_charZget_charrZis_tab_trigger_characterZis_tab_triggerr�Zis_first_tab_trigger_characterZforward_charr�)rr;rbr��word�first�crrr�get_tab_tag`s*

�


zDocument.get_tab_tagcCs$|j��sdS|�t|�||�dSr)r1rErGr)r�data�iterrrr�parse_and_run_snippet�s
zDocument.parse_and_run_snippetcCs�|js
dS|j��sdS|j��}|��r.dSt��||j�}|r�t|�dkrh|�|d|d|d�St	�
td�|j|j�}|�
|�|j��}|�|g|�d��dSdS)NFrrr T)r1rEr2Zget_has_selectionr	Zfrom_tagr(rFrGrr*r+r,rHr:rIrJ)rZtriggerr�r;rMr-rNrrr�run_snippet_trigger�s"



zDocument.run_snippet_triggercCs^|js
dS|j��sdS|j��}|�|�\}}}|s>|��S|�|||f�sV|��SdSdS�NFT)r1rEr2r�r�r�)rr;r�r�rbrrr�run_snippet�s

zDocument.run_snippetFcCs4g}g}|jD]�}|dkr&|jd}n|j|g}|D]d}||jvr�||jvrd|��|j�|�n||jvrz|d��|�|�q6||jvr6|�|�q6q|D]6}||jkr�d|_|j�|�|j�|�|�|�q�|D]}|j�|�|�|�q�|�	�|j
�|�t|j
�dk�r&|��|j
��dS)Nrvr)r"r&�update_contents�remover'r}r]r%r$�
deactivater#rFrWr1Z
queue_draw)rr@�forcer�Zordered_remove�tabstopr"r`rrrr?�s<





zDocument.deactivate_snippetcCsVd|_|jD]}|��q|jD]}|�|d|d�q |jdd�=|jdd�=dS)NrrF)r)r&r�r'r�rzrrr�update_snippet_contents�s


z Document.update_snippet_contentscCs�|�|���}t|j�D]Z}|j��s0|j��r<|�|�q|��}|�	�}|�
|�dksh|�
|�dkr|�|�q|��}||j
kr�|j�|j
|f�|jdkr�t�d|j�|_dSrB)rXrYr>r#Z
begin_markZget_deletedr�r�rZr[r\r?rcr$r'r]r)r�timeout_addr�)rr;r^r@rarbrqrrrrS�s

�zDocument.on_buffer_cursor_movedcCsxt|j�D],}|��}|��}|�|�dkr
|�|�q
|��}|rt||jvrZ|j�|�|j	dkrtt
�d|j�|_	dSrB)
r>r#rZr[r\r?rcr&r]r)rr�r�)rr;r@rarbrqrrrrRs

�zDocument.on_buffer_changedc
CsNt�|�}|s|jsdS|s"|j}||jvr0dS|��}|��}|j�|�}|jD]�}	|	|kr`qR|	��}
|	��}|
�|�dkr�|r�|�|�dkr�|j�|	�}||kr�|
r�|�|	j	|�n||kr�|r�|�|	j
|�qR|
�|�dk�r|
�|�dk�r|�r|�|�dk�r|�|	j	|�qR|rR|�|�dkrR|
�|�dkrR|�|	j
|�qRdSrB)rZget_buffer_contextr$r%rZr[rnr\Z	move_markrarb)
rr;r^rrm�ctxrarb�idxr`�obZoeZoidxrrrrTs2



 6 zDocument.on_buffer_insert_textcCs|��dSr)r9)rr;�specrrrr5EszDocument.on_notify_languagecCs�t�}|��}|j��sdS|tjj@s^|tjj@s^|j|j	vr^|tjj
@sT|��S|��Sn>|j
s�|�|j|�r�|��|�|j�|�|j|t��@�dS�NF)r	Z	get_stater1rErZModifierTypeZCONTROL_MASKZ	MOD1_MASKrK�TAB_KEY_VALZ
SHIFT_MASKr�r�ZloadedZvalid_acceleratorZensure_filesZensurer(rOrZ accelerator_get_default_mod_mask)rr1Zevent�library�staterrrr4Hs*

�
�
�
�zDocument.on_view_key_presscCs@tj�|�\}}|s"|r"|g|S|r8|�||g|�S|SdSr)r��path�split�
path_split)rr��
components�head�tailrrrr�`s
zDocument.path_splitcCs�t�|�}d|�d�id|id�}|�||d�|j��}|����}|�|�}|�d�|dd<||dd<|�	d�}	|	s�|�
�}	|�|	�}
|�||
|
|�dS)	NZGEDIT_DROP_DOCUMENT_TYPEr�r�ZGEDIT_DROP_DOCUMENTr�Z!GEDIT_DROP_DOCUMENT_RELATIVE_PATHr�Zgtk_drag_target)
rZfile_new_for_urir�r�r1r2r�r�Zget_relative_pathZget_markrYrXrG)rr@�mime�uriZgfiler�r;r��relpathZmarkr^rrr�apply_uri_snippetjs
�



zDocument.apply_uri_snippetcCs`|j��}|j�tjj|j|j�\|_|_||jkp\||j|jkp\||jkp\||j|j	kSr)
r1r��buffer_to_window_coordsr�TextWindowTypeZWIDGETrgrh�widthr�)rrgrh�rectrrr�	in_bounds�s
 zDocument.in_boundsc
Cs�|j��sdSt�|�}|s dS|�||�s0dS|��d}	|D]T}
zt�|
�}Wnd}Yn0|sjq@t��	||j
�}|r@d}	|�|d||
�q@|	r�|�dd|�|�
d�|����|��dS)NFTrr/)r1rErZ
drop_get_urisr	�reverserZcontent_type_guessr	Zfrom_drop_targetr(rZfinishZ
stop_emissionrCZpresentr�)
rr1�contextrgrhr�r�Z	timestampZuris�stoprrrMrrrr6�s2



zDocument.on_drag_data_receivedcCst�dd�}|j�||�S)Nrr)rZtarget_list_add_uri_targetsr1Zdrag_dest_find_target)rrZlstrrr�find_uri_target�szDocument.find_uri_targetcCs`|j��sdS|j��}|��}|r8|�|��dd�n$|�||�\}}}|�|��||�dSr�)r1rEr2r�rGr@r�)r�proposalr^r;r�r�r�rbrrrr,�s

zDocument.on_proposal_activatedcCsZ|j��}|��}|rR|��|�|d|d�|�|d|jj�|��dSdSdS)NrrTF)	r1r2r�r�r��insertZpropsZlabelr�)rrr^r;r�rrrr��s
zDocument.on_default_activatedcCs0|j�|�}|j�tjj|j|j�\|_|_|Sr)r1r�rrr�TEXTrgrh)rr^rrrr�iter_coords�s zDocument.iter_coordscCsT|��}|��}|r|sdS|�|�}|�|�}|j|j|jkoR|j|j|jkSr�)rZr[rrhr�)rr`Zarear�rb�
start_rect�end_rectrrr�placeholder_in_area�s

�zDocument.placeholder_in_areacCsv|��}|�|�}|��}|��}|�|�}|��}|��}	|	�d�|j�tj	j
���}
|�dd�|	��|k�rr|j�
|	�\}}|j�tj	j
d|�\}
}|	��|kr�|	��|kr�|�|j|j|j|j|jd�|��n�|	��|ks�|	��|k�rd|	��|k�r|}n|}|�d|j|jd�|�|jd�|�d|jd�|�|
dd�|��|	��sf�qrqfdS)Nr��?rr�)rZrr�r[r�Zset_line_offsetr1�
get_windowrrrZget_geometry�	translateZget_line_yrangeZwindow_to_buffer_coordsZ	rectanglergrhr��stroke�move_to�rel_line_toZforward_line)rr�r`r�rZ
start_linerbrZend_line�lineZgeomZyposr�Zx_rrrr�draw_placeholder_rect�s6


"
zDocument.draw_placeholder_rectcCs�|��}|�|�}|�dd�d}|�|j||j�|�|dd�|�|j|j�|�d|jd�|�|d�|�|dd�|�	�dS)Nrg@r�rr)
rZrrrrgrhrr�Zrel_move_tor)rr�r`r�rZextend_widthrrr�draw_placeholder_bar	s
zDocument.draw_placeholder_barcCs�t|t�rdS|j���tjj�}d|_t	�
||�|jdkrL|�gd�n|�dgd�|�
�}|��}|�|�r�|�||�n|�||�dS)Nrrr�)r�rr1Zget_style_contextZ	get_colorrZ
StateFlagsZINSENSITIVEZalpharZcairo_set_source_rgbar�Zset_dashrZr[r�rr)rr�r`�colr�rbrrr�draw_placeholders


zDocument.draw_placeholdercCs�|�tjj�}t�||�sdS|�d�t�|||�t�|�\}}|sLdS|j	D].}|�
||�sdqR|��|�||�|�
�qRdS)NFg�?)rrrrZcairo_should_draw_windowZset_line_widthZcairo_transform_to_windowrZcairo_get_clip_rectangler%rZsaverZrestore)rr1r�ZwindowZclippedZclipr`rrrr8/s


zDocument.on_draw)N)F)HrrrrZKEY_TabZKEY_ISO_Left_Tabr�Z	KEY_spaceZ
SPACE_KEY_VALrZPropertyrZViewr1rr<rAr9rOrVrWrcrsrurwryr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rGr�r�r�r�r?r�rSrRrTr5r4r�rr	r6r
r,r�rrrrrr8rrrrr,szA$


 		V
"
,'
#&r)r�r�Z
gi.repositoryrrrrrrr�r	r@r
r`rr�rZsignalsr
Z
shareddatarr�gettext�bindtextdomain�
textdomainr+r�rr!ZViewActivatablerrrrr�<module>s$ 




Youez - 2016 - github.com/yon3zu
LinuXploit