
    `                     Z    d Z ddlmZ dZ G d de      Z G d de      Z G d d	e      Zy
)z$
Data structures for the selection.
    )unicode_literals)SelectionType	PasteModeSelectionStatec                       e Zd ZdZdZdZdZy)r   z
    Type of selection.
    
CHARACTERSLINESBLOCKN)__name__
__module____qualname____doc__r   r	   r
        +lib/third_party/prompt_toolkit/selection.pyr   r      s     J E Er   r   c                       e Zd ZdZdZdZy)r   EMACSVI_AFTER	VI_BEFOREN)r   r   r   r   r   r   r   r   r   r   r      s    EHIr   r   c                   6    e Zd ZdZdej
                  fdZd Zy)r   z}
    State of the current selection.

    :param original_cursor_position: int
    :param type: :class:`~.SelectionType`
    r   c                      || _         || _        y )N)original_cursor_positiontype)selfr   r   s      r   __init__zSelectionState.__init__(   s    (@%	r   c                 h    | j                   j                  d| j                  d| j                  dS )Nz(original_cursor_position=z, type=))	__class__r   r   r   )r   s    r   __repr__zSelectionState.__repr__,   s(    NN##))4996 	6r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   !   s     128P8P 6r   r   N)r   
__future__r   __all__objectr   r   r   r   r   r   <module>r#      s:    (F  6V 6r   