Mini Shell
3
�CZ� � @ s� d dl mZ d dljjZd dlZd dlZd dlm Z dd� Z
dd� Zdd � Zd
d� Z
d'd
d�Zdd� Zdd� Zf fdd�Zdd� Zf d fdd�Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� ZdS )(� )�saxutilsN)�Gtkc C s: t j| t jj|t jj|�}|jdd� |j� |j� d S )Nz
use-markupT) r Z
MessageDialogZDialogFlagsZMODALZButtonsTypeZOKZset_propertyZrunZdestroy)Zpar�typ�msg�d� r �+/usr/lib64/gedit/plugins/snippets/helper.py�message_dialog s r c C s| |j � }| j� j|�}|j� }|j� }x<|j� rb|dkrb|dkrb|j|�dk rb|j� sXP |j� }q(W |j|�rrdS |j |�S )N�
�
r � )
Zget_line�
get_bufferZget_iter_at_line�copyZget_char�isspaceZcompareZforward_charZequalZ get_slice)�view�piter�line�start�endZchr r r �compute_indentation s
r c C s
t j| �S )N)r �escape)�textr r r �
markup_escape3 s r c C s | j � s|S |jd| j� d �S )N� � )Z!get_insert_spaces_instead_of_tabs�replaceZ
get_tab_width)r r r r r �spaces_instead_of_tabs6 s r Tc C s� t | |�}|jd�}| j� }||_t|�dkr@| j� j||� nlt| |�}d}xHtdt|��D ]6}|sn|dkr�|||| d 7 }q^||| d 7 }q^W |j||d d� � d |_d S )Nr � r r ���)r �splitr
�_snippets_context�len�insertr �range) r r r Zindentfirst�context�lines�buf�indent�ir r r �insert_with_indent<