
    VVf4                    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        a/var/www/html/software/conda/envs/catlas/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_mode5   s	    r   c                x    dj                  | j                  j                  | j                  | j                        S )Nz,{}(original_cursor_position={!r}, type={!r}))format	__class__r   r   r   r   s    r   __repr__zSelectionState.__repr__8   s2    =DDNN##))II
 	
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   $   s@     )*+66 "%    
	 
r   r   N)	r   
__future__r   enumr   __all__r   r   r   r   r   r   <module>r,      s;    # D  
 
r   