
                         V    S SK Jr  Sr " S S\5      r " S S\5      r " S S\5      rg	)
    )unicode_literals)	InputModeCharacterFindViStatec                   $    \ rS rSrSrSrSrSrSrg)r   
   z	vi-insertzvi-insert-multiplezvi-navigationz
vi-replace N)	__name__
__module____qualname____firstlineno__INSERTINSERT_MULTIPLE
NAVIGATIONREPLACE__static_attributes__r	       6lib/third_party/prompt_toolkit/key_binding/vi_state.pyr   r   
   s    F*O JGr   r   c                       \ rS rSrSS jrSrg)r      c                     Xl         X l        g )N)	character	backwards)selfr   r   s      r   __init__CharacterFind.__init__   s    ""r   )r   r   N)F)r
   r   r   r   r   r   r	   r   r   r   r      s    #r   r   c                   >    \ rS rSrSrS r\R                  4S jrSr	g)r      z7
Mutable class to hold the state of the Vi navigation.
c                     S U l         S U l        S U l        0 U l        [        R
                  U l        SU l        S U l        SU l	        g )NF)
last_character_findoperator_funcoperator_argnamed_registersr   r   
input_modewaiting_for_digraphdigraph_symbol1tilde_operator)r   s    r   r   ViState.__init__   sS     $( 
 "   " $** $) # $r   c                 :    Xl         SU l        SU l        SU l        g)z<
Reset state, go back to the given mode. INSERT by default.
FN)r$   r%   r!   r"   )r   modes     r   resetViState.reset4   s!    
 #( ! r   )r&   r$   r    r#   r"   r!   r'   r%   N)
r
   r   r   r   __doc__r   r   r   r+   r   r	   r   r   r   r      s    $2 #)) 	!r   r   N)
__future__r   __all__objectr   r   r   r	   r   r   <module>r1      s3    ' #F #&!f &!r   