
    Mh                        d dl mZ d dlmZ d dlmZmZ d dlmZ erddl	m
Z
 ddlmZ g dZ G d	 d
ee          Z G d d          Z G d d          ZdS )    )annotations)Enum)TYPE_CHECKINGCallable)ClipboardData   )
TextObject)KeyPressEvent)	InputModeCharacterFindViStatec                  .    e Zd ZU ded<   dZdZdZdZdZdS )	r   strvaluez	vi-insertzvi-insert-multiplezvi-navigationz
vi-replacezvi-replace-singleN)	__name__
__module____qualname____annotations__INSERTINSERT_MULTIPLE
NAVIGATIONREPLACEREPLACE_SINGLE     c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/key_binding/vi_state.pyr   r      s2         JJJF*O JG(NNNr   r   c                      e Zd Zd
ddZd	S )r   F	characterr   	backwardsboolreturnNonec                "    || _         || _        d S )N)r   r   )selfr   r   s      r   __init__zCharacterFind.__init__   s    ""r   N)F)r   r   r   r    r!   r"   )r   r   r   r%   r   r   r   r   r      s-        # # # # # # #r   r   c                  \    e Zd ZdZddZedd            Zej        dd            Zdd	Zd
S )r   z?
    Mutable class to hold the state of the Vi navigation.
    r!   r"   c                    d | _         d | _        d | _        i | _        t          j        | _        d| _        d | _        d| _	        d | _
        d| _        d| _        d S )NF )last_character_findoperator_funcoperator_argnamed_registersr   r   _ViState__input_modewaiting_for_digraphdigraph_symbol1tilde_operatorrecording_registercurrent_recordingtemporary_navigation_moder$   s    r   r%   zViState.__init__(   su     :> 
 TX(, :< &, $) +/ $ /3&( */&&&r   r   c                    | j         S )zGet `InputMode`.)r-   r4   s    r   
input_modezViState.input_modeO   s       r   r   c                ^    |t           j        k    rd| _        d| _        d| _        || _        dS )zSet `InputMode`.FN)r   r   r.   r*   r+   r-   )r$   r   s     r   r6   zViState.input_modeT   s8     I(((',D$!%D $D!r   c                n    t           j        | _        d| _        d| _        d| _        d| _        d| _        dS )zL
        Reset state, go back to the given mode. INSERT by default.
        FNr(   )r   r   r6   r.   r*   r+   r1   r2   r4   s    r   resetzViState.reset^   s>    
 $*#( !  #'!#r   N)r!   r"   )r!   r   )r   r   r!   r"   )	r   r   r   __doc__r%   propertyr6   setterr9   r   r   r   r   r   #   s         %/ %/ %/ %/N ! ! ! X! " " " "$ $ $ $ $ $r   r   N)
__future__r   enumr   typingr   r   prompt_toolkit.clipboardr   key_bindings.vir	   key_processorr
   __all__r   r   r   r   r   r   r   <module>rD      s    " " " " " "       * * * * * * * * 2 2 2 2 2 2 -++++++,,,,,,  ) ) ) ) )T ) ) )# # # # # # # #H$ H$ H$ H$ H$ H$ H$ H$ H$ H$r   