
                         V    d dl mZ dZ G d de      Z G d de      Z G d de      Zy	)
    )unicode_literals)	InputModeCharacterFindViStatec                       e Zd ZdZdZdZdZy)r   z	vi-insertzvi-insert-multiplezvi-navigationz
vi-replaceN)__name__
__module____qualname__INSERTINSERT_MULTIPLE
NAVIGATIONREPLACE     6lib/third_party/prompt_toolkit/key_binding/vi_state.pyr   r   
   s    F*O JGr   r   c                       e Zd ZddZy)r   c                      || _         || _        y )N)	character	backwards)selfr   r   s      r   __init__zCharacterFind.__init__   s    ""r   N)F)r   r	   r
   r   r   r   r   r   r      s    #r   r   c                   4    e Zd ZdZd Zej                  fdZy)r   z?
    Mutable class to hold the state of the Vi navigation.
    c                     d | _         d | _        d | _        i | _        t        j
                  | _        d| _        d | _        d| _	        y )NF)
last_character_findoperator_funcoperator_argnamed_registersr   r   
input_modewaiting_for_digraphdigraph_symbol1tilde_operator)r   s    r   r   zViState.__init__   sS     $( 
 "   " $** $) # $r   c                 <    || _         d| _        d| _        d| _        y)zL
        Reset state, go back to the given mode. INSERT by default.
        FN)r   r   r   r   )r   modes     r   resetzViState.reset4   s#    
 #( ! r   N)r   r	   r
   __doc__r   r   r   r$   r   r   r   r   r      s    $2 #)) 	!r   r   N)
__future__r   __all__objectr   r   r   r   r   r   <module>r)      s3    ' #F #&!f &!r   