B
    *‹d4  ã               @  sX   d Z ddlmZ ddlmZ dddgZG dd„ deƒZG dd„ deƒZG d	d„ dƒZd
S )z$
Data structures for the selection.
é    )Úannotations)ÚEnumÚSelectionTypeÚ	PasteModeÚSelectionStatec               @  s   e Zd ZdZdZdZdZdS )r   z
    Type of selection.
    Ú
CHARACTERSÚLINESÚBLOCKN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   © r   r   úe/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/prompt_toolkit/selection.pyr      s   c               @  s   e Zd ZdZdZdZdS )r   ÚEMACSÚVI_AFTERÚ	VI_BEFOREN)r
   r   r   r   r   r   r   r   r   r   r      s   c               @  sF   e Zd ZdZdejfddddœdd„Zdd	œd
d„Zdd	œdd„ZdS )r   z}
    State of the current selection.

    :param original_cursor_position: int
    :param type: :class:`~.SelectionType`
    r   Úintr   ÚNone)Úoriginal_cursor_positionÚtypeÚreturnc             C  s   || _ || _d| _d S )NF)r   r   Ú
shift_mode)Úselfr   r   r   r   r   Ú__init__,   s    zSelectionState.__init__)r   c             C  s
   d| _ d S )NT)r   )r   r   r   r   Úenter_shift_mode5   s    zSelectionState.enter_shift_modeÚstrc             C  s   d  | jj| j| j¡S )Nz,{}(original_cursor_position={!r}, type={!r}))ÚformatÚ	__class__r
   r   r   )r   r   r   r   Ú__repr__8   s    zSelectionState.__repr__N)	r
   r   r   r   r   r   r   r   r   r   r   r   r   r   $   s
   N)	r   Ú
__future__r   Úenumr   Ú__all__r   r   r   r   r   r   r   Ú<module>   s   