
    Ih                    h    d Z ddlmZ ddlmZ g dZ G d de      Z G d de      Z G d	 d
      Zy)z$
Data structures for the selection.
    )annotations)Enum)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        Q/var/www/html/planif/env/lib/python3.12/site-packages/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                  L    e Zd ZdZdej
                  f	 	 	 	 	 ddZddZd	dZy)
r   z}
    State of the current selection.

    :param original_cursor_position: int
    :param type: :class:`~.SelectionType`
    r   c                .    || _         || _        d| _        y )NF)original_cursor_positiontype
shift_mode)selfr   r   s      r   __init__zSelectionState.__init__-   s    
 )A%	r   c                    d| _         y )NT)r   r   s    r   enter_shift_modezSelectionState.enter_shift_mode6   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__9   s8    ..))**DTEbEbDeelmqmvmvlyyz{{r   N)r   intr   r   returnNone)r&   r'   )r&   str)	r   r   r   r   r   r	   r   r    r$   r   r   r   r   r   %   sA     )*+66 "%    
	 |r   r   N)	r   
__future__r   enumr   __all__r   r   r   r   r   r   <module>r,      s=    # D  | |r   