+
    j,iL                       ^ RI Ht ^ RIHt ^ RIHtHtHt ^ RIH	t	 ^ RI
HtHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^R
IHtHtH t  ^RI!H"t" . ROt#]t$]R R l4       t%]R R l4       t&R R lt'R R lt(R R lt)R# )    )annotations)get_app)Bufferindentunindent)CompleteEvent)
	Conditionemacs_insert_mode
emacs_modehas_arghas_selectionin_paste_modeis_multilineis_read_onlyshift_selection_modevi_search_direction_reversed)Binding)KeyPressEvent)Keys)SelectionType)ConditionalKeyBindingsKeyBindingsKeyBindingsBase)get_by_namec                   V ^8  d   QhRR/#    returnbool )formats   "K/usr/lib/python3/dist-packages/prompt_toolkit/key_binding/bindings/emacs.py__annotate__r#   %   s     2 2t 2    c                 >    \        4       P                  P                  # N)r   current_bufferis_returnabler    r$   r"   r(   r(   $   s    9##111r$   c                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   r#   *   s     . . .r$   c                 D    \        4       P                  P                  R 8H  # )-)r   key_processorargr    r$   r"   is_argr.   )   s    9""&&#--r$   c                   V ^8  d   QhRR/# r   r   r   r    )r!   s   "r"   r#   r#   .   s     g< g<_ g<r$   c                   aa \        4       p V P                  o\        pS! R4      R R l4       pS! R4      ! \        R4      4       S! R4      ! \        R4      4       S! RVR	7      ! \        R
4      4       S! R4      ! \        R4      4       S! R4      ! \        R4      4       S! R4      ! \        R4      4       S! R4      ! \        R4      4       S! RRRVR	7      ! \        R4      4       S! RVR	7      ! \        R4      4       S! RR4      ! \        R4      4       S! RRVR	7      ! \        R4      4       S! RRVR	7      ! \        R
4      4       S! RR4      ! \        R4      4       S! RRVR	7      ! \        R4      4       S! RRVR	7      ! \        R 4      4       S! RRVR	7      ! \        R!4      4       S! RR"VR	7      ! \        R#4      4       S! RR$VR	7      ! \        R%4      4       S! R&4      ! \        R'4      4       S! R(4      ! \        R)4      4       S! R*R+ VR,7      ! \        R-4      4       S! RR.R/ VR,7      ! \        R-4      4       S! RR0\        ( R	7      ! \        R14      4       S! RR2\        ( R	7      ! \        R34      4       S! RR4VR	7      ! \        R54      4       S! RR6VR	7      ! \        R54      4       S! RRVR	7      ! \        R74      4       S! RR8VR	7      ! \        R94      4       S! R:4      ! \        R;4      4       S! R<\        ( R	7      ! \        R=4      4       S! RR>4      ! \        R?4      4       S! RR@4      ! \        RA4      4       S! RRB4      ! \        RC4      4       S! RD4      RE RF l4       pS! RG4      RH RI l4       pRJ V3RK llpRL F  pV! V4       K  	  S! RRM\
        ( R	7      RN RO l4       pS! RM\        R	7      RP RQ l4       pS! RRRV\        ,          R	7      ! \        RS4      4       S! RRV\        ,          \        ( ,          R	7      ! \        RS4      4       RT RU loS! RV\        P                  4      RW V3RX ll4       p	S! RRV\        P                  4      RY V3RZ ll4       p
S! RR[4      R\ R] l4       pS! RRB4      R^ R_ l4       pS! RR`VR	7      Ra Rb l4       pS! RRcVR	7      Rd Re l4       pS! RR4      Rf Rg l4       pS! Rh4      Ri Rj l4       pS! Rk\        ( R	7      Rl Rm l4       pS! Rk\        R	7      Rn Ro l4       pS! Rp\        R	7      S! RRRq\        R	7      Rr Rs l4       4       pS! RRt\        R	7      Ru Rv l4       pS! RRw4      Rx Ry l4       pS! RRz4      R{ R| l4       pS! RR}VR	7      R~ R l4       pS! RR2\        R	7      R R l4       pS! RR0\        R	7      R R l4       p\        V \        4      # )z
Some e-macs extensions.
escapec                    V ^8  d   QhRRRR/# r   eventEr   Noner    )r!   s   "r"   r#   )load_emacs_bindings.<locals>.__annotate__:   s     	 	A 	$ 	r$   c                    R# )a,  
By default, ignore escape key.

(If we don't put this here, and Esc is followed by a key which sequence
is not handled, we'll insert an Escape character in the input stream.
Something we don't want and happens to easily in emacs mode.
Further, people can always use ControlQ to do a quoted insert.)
Nr    r5   s   &r"   _esc!load_emacs_bindings.<locals>._esc9   s     	r$   zc-abeginning-of-linezc-bbackward-charzc-deletefilterz	kill-wordzc-eend-of-linezc-fforward-charc-leftbackward-wordc-rightforward-wordzc-xryyankc-ybczcapitalize-worddflzdowncase-worduzuppercase-wordzyank-pop	backspacezbackward-kill-word\zdelete-horizontal-spacec-homebeginning-of-bufferc-endend-of-bufferzc-_c                    R # Fr    es   &r"   <lambda>%load_emacs_bindings.<locals>.<lambda>[   s    r$   )save_beforer@   undozc-uc                    R # rX   r    rY   s   &r"   r[   r\   _   s    r$   <zbeginning-of-history>zend-of-history.zyank-last-arg_zyank-nth-arg#zinsert-commentzc-ozoperate-and-get-nextzc-qzquoted-insert(zstart-kbd-macro)zend-kbd-macrorZ   zcall-last-kbd-macrozc-nc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   v   s     ) )Q )4 )r$   c                :    V P                   P                  4        R# )z
Next line.N)r'   	auto_downr:   s   &r"   _next"load_emacs_bindings.<locals>._nextu   s     	&&(r$   zc-pc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   {   s     6 6Q 64 6r$   c                R    V P                   P                  V P                  R7       R# )zPrevious line.countN)r'   auto_upr-   r:   s   &r"   _prev"load_emacs_bindings.<locals>._prevz   s     	$$599$5r$   c                    V ^8  d   QhRRRR/# )r   rL   strr   r7   r    )r!   s   "r"   r#   r8      s     	) 	) 	) 	)r$   c                V   <a  S! S \         R7      S! RS 4      R V 3R ll4       4       pR# )zM
Handle input of arguments.
The first number needs to be preceded by escape.
r?   r2   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   ?load_emacs_bindings.<locals>.handle_digit.<locals>.__annotate__   s     	) 	)Q 	)4 	)r$   c                *   < V P                  S4       R # r&   )append_to_arg_count)r5   rL   s   &r"   rc   4load_emacs_bindings.<locals>.handle_digit.<locals>._   s     %%a(r$   N)r   )rL   rc   handles   f r"   handle_digit)load_emacs_bindings.<locals>.handle_digit   s-     
'	"	!		) 
 
#	)r$   
0123456789r+   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     + +! + +r$   c                H    V P                   f   V P                  R4       R# R# ) Nr+   )_argry   r:   s   &r"   
_meta_dash'load_emacs_bindings.<locals>._meta_dash   s!     ::%%c* r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     * *Q *4 *r$   c                <    RV P                   P                  n        R# )zX
When '-' is typed again, after exactly '-' has been given as an
argument, ignore this.
r+   N)appr,   r-   r:   s   &r"   _dash"load_emacs_bindings.<locals>._dash   s     '*		#r$   enterzaccept-linec               (    V ^8  d   QhRRRRRRRR/# )	r   buffr   charrt   ro   intr   r7   r    )r!   s   "r"   r#   r8      s(     	* 	*v 	*S 	* 	* 	*r$   c                    V^ 8  d!   V P                   P                  VRV) R7      pMV P                   P                  VRVR7      pVe   V ;P                  V,          un        R# R# )r   T)in_current_linero   N)documentfind_backwardsfindcursor_position)r   r   ro   matchs   &&& r"   character_search-load_emacs_bindings.<locals>.character_search   sd    19MM00d5& 1 E MM&&tT&OE  E)  r$   zc-]c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     F F! F Fr$   c                X   < S! V P                   V P                  V P                  4       R# )z:When Ctl-] + a character is pressed. go to that character.Nr'   datar-   r5   r   s   &r"   
_goto_char'load_emacs_bindings.<locals>._goto_char   s     	--uzz599Er$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     G GA G$ Gr$   c                Z   < S! V P                   V P                  V P                  ) 4       R# )zLike Ctl-], but backwards.Nr   r   s   &r"   _goto_char_backwards1load_emacs_bindings.<locals>._goto_char_backwards   s!     	--uzzEII:Fr$   ac                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s      a D r$   c                    R# )zPrevious sentence.Nr    r:   s   &r"   _prev_sentence+load_emacs_bindings.<locals>._prev_sentence       r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     # # #d #r$   c                    R# )zMove to end of sentence.Nr    r:   s   &r"   _end_of_sentence-load_emacs_bindings.<locals>._end_of_sentence   r   r$   tc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s       d r$   c                    R# )z,
Swap the last two words before the cursor.
Nr    r:   s   &r"   _swap_characters-load_emacs_bindings.<locals>._swap_characters   r   r$   *c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     ) )q )T )r$   c                    V P                   p\        RRR7      p\        VP                  P	                  VP
                  V4      4      pRP                  R V 4       4      pVP                  V4       R# )zB
`meta-*`: Insert all possible completions of the preceding text.
FT)text_insertedcompletion_requested c              3  8   "   T F  qP                   x  K  	  R # 5ir&   )text).0rL   s   & r"   	<genexpr>Gload_emacs_bindings.<locals>._insert_all_completions.<locals>.<genexpr>   s     !>+Q&&+s   N)r'   r   list	completerget_completionsr   joininsert_text)r5   r   complete_eventcompletionstext_to_inserts   &    r"   _insert_all_completions4load_emacs_bindings.<locals>._insert_all_completions   sd    
 ## 'UQUVNN**4==.I

 !>+!>>(r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     Q Q Qt Qr$   c                "   V P                   pVP                  P                  '       d6   V;P                  VP                  P	                  RR7      ,          un        R# V;P                  VP                  P                  4       ,          un        R# )zK
Move cursor back and forth between the start and end of the current
line.
Fafter_whitespaceN)r'   r   is_cursor_at_the_end_of_liner   get_start_of_line_positionget_end_of_line_positionr5   buffers   & r"   _toggle_start_end.load_emacs_bindings.<locals>._toggle_start_end   sj     %%??777""foo&P&P!& 'Q ' " ""foo&N&N&PP"r$   zc-@c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     J J Jd Jr$   c                    V P                   pVP                  '       d#   VP                  \        P                  R7       R# R# )z>
Start of the selection (if the current buffer is not empty).
selection_typeN)r'   r   start_selectionr   
CHARACTERSr5   r   s   & r"   _start_selection-load_emacs_bindings.<locals>._start_selection   s4     ##999  0H0H I r$   c-gc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     5 5q 5T 5r$   c                J    RV P                   n        RV P                   n        R# )z;
Control + G: Cancel completion menu and validation state.
N)r'   complete_statevalidation_errorr:   s   &r"   _cancel$load_emacs_bindings.<locals>._cancel   s     
 /3+04-r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8      s     . . .t .r$   c                :    V P                   P                  4        R# )
Cancel selection.
N)r'   exit_selectionr:   s   &r"   _cancel_selection.load_emacs_bindings.<locals>._cancel_selection   s    
 	++-r$   zc-wkc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8     s     + +A +$ +r$   c                    V P                   P                  4       pV P                  P                  P	                  V4       R# )z
Cut selected text.
N)r'   cut_selectionr   	clipboardset_datar5   r   s   & r"   _cut!load_emacs_bindings.<locals>._cut  s0     ##113		$$T*r$   wc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8     s     + +Q +4 +r$   c                    V P                   P                  4       pV P                  P                  P	                  V4       R# )z
Copy selected text.
N)r'   copy_selectionr   r   r   r   s   & r"   _copy"load_emacs_bindings.<locals>._copy  s0    
 ##224		$$T*r$   leftc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8     s     
 
a 
D 
r$   c                    V P                   pT;P                  VP                  P                  V P                  R7      ;'       g    ^ ,          un        R# )z#
Cursor to start of previous word.
rn   N)r'   r   r   find_previous_word_beginningr-   r   s   & r"   _start_of_word+load_emacs_bindings.<locals>._start_of_word  sA    
 %%OO88uyy8INNQ	
r$   rightc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   "  s     
 
 
d 
r$   c                    V P                   pT;P                  VP                  P                  V P                  R7      ;'       g    VP                  P                  4       ,          un        R# )z
Cursor to start of next word.
rn   N)r'   r   r   find_next_word_beginningr-   get_end_of_document_positionr   s   & r"   _start_next_word-load_emacs_bindings.<locals>._start_next_word!  sS    
 %%OO445994E > >;;=	
r$   /c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   -  s     2 2 2t 2r$   c                    V P                   pVP                  '       d   VP                  4        R# VP                  RR7       R# )z
M-/: Complete.
T)select_firstN)r'   r   complete_nextstart_completion)r5   rK   s   & r"   	_complete&load_emacs_bindings.<locals>._complete,  s6    
   OOD1r$   c-cc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   8  s     7 7q 7T 7r$   c                n   V P                   pV;P                  VP                  P                  RR7      ,          un        VP                  P	                  4       w  r#VP                  P                  V4      w  r$VP                  P                  V4      w  r4\        WV^,           V P                  R7       R# )z
Indent selected text.
Tr   rn   N)r'   r   r   r   selection_rangetranslate_index_to_positionr   r-   r5   r   from_torc   s   &    r"   _indent$load_emacs_bindings.<locals>._indent7  s    
 %%&//"L"L! #M #
 	
 OO335	??>>uE;;B?vb1fEII6r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r8   I  s     
9 
9 
9t 
9r$   c                   V P                   pVP                  P                  4       w  r#VP                  P                  V4      w  r$VP                  P                  V4      w  r4\	        WV^,           V P
                  R7       R# )z
Unindent selected text.
rn   N)r'   r   r  r  r   r-   r  s   &    r"   	_unindent&load_emacs_bindings.<locals>._unindentH  sc    
 %%OO335	??>>uE;;B?Qeii8r$   )r   addr
   r   r   r   r.   r(   r   r   Anyr   r   )key_bindingsinsert_moder;   rj   rq   r|   rL   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r   r{   s                             @@r"   load_emacs_bindingsr  .   s    =LF#KH	 	 5M+123
5M+o./
:k*;{+CD
5M+m,-
5M+n-.
8[12
9k.12
5#s;/F0CD
5%k&&9:
8S+o67
8S-k:K.LM
8S-k+.FG
8S+n56
8S-k/.JK
8S-k:J.KL
8S-k*.EF
8[5kBV6WX
8T+.{;T/UV
8[!678
7OK01
5DF 5%o{KF 8S-0=S1TU
8S-0=M1NO
8S-k/.JK
8S-k/.JK
8U;/N0KL
8S-k:J.KL
5M+456
 5-(_)EF
5#{#456
5#{?34
5#{#89:E]) ) E]6 6	) 	) Q  Hc7(++ ,+
 C*  * 8W[=%@AM"
 7;6,FGM"	* E488F F
 HeTXX&G 'G
 Hc  Hc# # Hc+. / Hc+.) /)  E5Q Q E]J J E=.)5 *5 E-(. ). E-(E3M2+ 3 )+ Hc-0+ 1+ Hf
 
 Hg
 
 Hc+.2 /2 E3}-7 .7  E3}-
9 .
9 ",
;;r$   c                   V ^8  d   QhRR/# r0   r    )r!   s   "r"   r#   r#   X  s     ?< ?<O ?<r$   c                    \        4       p V P                  p^RIHp V! R4      ! VP                  4       V! R4      ! VP
                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R4      ! VP                  4       V! R	R
R7      ! VP                  4       V! R\        \        ( ,          R7      ! VP                  4       V! R\        \        ( ,          R7      ! VP
                  4       V! R\        \        ,          R7      ! VP
                  4       V! R\        \        ,          R7      ! VP                  4       V! R\        R7      R R l4       pV! R\        R7      R R l4       p\        V \        4      # )   )searchzc-rzc-sr  r   updownr   r2   T)eager?r?   r  nc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   0load_emacs_search_bindings.<locals>.__annotate__       
 
! 
 
r$   c                ~    V P                   P                  V P                  P                  RV P                  R7       R# )zJump to next match.Finclude_current_positionro   Nr'   apply_searchr   current_search_stater-   r:   s   &r"   
_jump_next.load_emacs_search_bindings.<locals>._jump_next  s4     	))II**%*)) 	* 	
r$   Nc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   r)    r*  r$   c                    V P                   P                  V P                  P                  ( RV P                  R7       R# )zJump to previous match.Fr,  Nr.  r:   s   &r"   
_jump_prev.load_emacs_search_bindings.<locals>._jump_prev  s7     	))YY+++%*)) 	* 	
r$   )r   r  r   r"   start_reverse_incremental_search start_forward_incremental_searchabort_searchreverse_incremental_searchforward_incremental_searchaccept_searchr   r   r   r   )r  r{   r"  r1  r6  s        r"   load_emacs_search_bindingsr>  X  s   =LF 5M&99:
5M&99:
5M&%%&
5M&%%&
5M&334
5M&334
4L223
6N6445
7OF(() 84 !5!56 3|'C&CCD// 3|'C&CCD// 3|&BBC// 3|&BBC// C%
 &
 C%
 &
 ",
;;r$   c                   V ^8  d   QhRR/# r0   r    )r!   s   "r"   r#   r#     s     Y< Y<_ Y<r$   c                   a	 \        4       p V P                  pR R lo	V! R\        ( R7      V! R\        ( R7      V! R\        ( R7      V! R\        ( R7      V! R\        ( R7      V! R	\        ( R7      V! R
\        ( R7      V! R\        ( R7      V! R\        ( R7      V! R\        ( R7      R V	3R ll4       4       4       4       4       4       4       4       4       4       pV! R\        R7      V! R\        R7      V! R\        R7      V! R\        R7      V! R\        R7      V! R	\        R7      V! R
\        R7      V! R\        R7      V! R\        R7      V! R\        R7      R V	3R ll4       4       4       4       4       4       4       4       4       4       pV! \        P
                  \        R7      R R l4       pV! R\        \        ,          R7      R R l4       pV! R\        R7      R R l4       pV! R\        R7      R R l4       pV! R\        R7      V! R\        R7      V! R\        R7      V! R \        R7      V! R!\        R7      V! R"\        R7      V! R#\        R7      V! R$\        R7      V! R%\        R7      V! R&\        R7      R' R( l4       4       4       4       4       4       4       4       4       4       p\        V \        4      # ))z7
Bindings to select text with shift + cursor movements
c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   9load_emacs_shift_selection_bindings.<locals>.__annotate__  s     #$ #$A #$$ #$r$   c                   V P                   ^ ,          P                  pV\        P                  8X  d)   V P                  P                  V P                  R7       R# V\        P                  8X  d)   V P                  P                  V P                  R7       R# \        P                  R\        P                  R\        P                  R\        P                  R\        P                  R\        P                  R\        P                  R	\        P                   R
/p \#        W!,          4      p\%        V\&        4      '       d   VP)                  V 4       R# R#   \*         d     R# i ; i)z
Used for the shift selection mode. When called with
a shift + movement key press event, moves the cursor
as if shift is not pressed.
rn   Nr>   rB   r=   rA   rD   rF   rT   rV   )key_sequencekeyr   ShiftUpr'   rp   r-   	ShiftDownri   	ShiftLeft
ShiftRight	ShiftHomeShiftEndControlShiftLeftControlShiftRightControlShiftHomeControlShiftEndr   
isinstancer   callKeyError)r5   rE  key_to_commandbindings   &   r"   unshift_move9load_emacs_shift_selection_bindings.<locals>.unshift_move  s      #''$,,  ((uyy(9$..   ***; NNOOO^NN/MM=!!?""N!!#8  /	1
	$!."56G '7++U# ,  		s   E E&%E&zs-leftr?   zs-rightzs-upzs-downzs-homezs-endzc-s-leftz	c-s-rightzc-s-homezc-s-endc                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     & & &d &r$   c                F  < V P                   pVP                  '       d   VP                  \        P                  R7       VP
                  e   VP
                  P                  4        VP                  pS! V 4       VP                  V8X  d   VP                  4        R# R# R# )z(
Start selection with shift + movement.
r   N)	r'   r   r   r   r   selection_stateenter_shift_moder   r   )r5   r   original_positionrU  s   &  r"   r   =load_emacs_shift_selection_bindings.<locals>._start_selection  s     ##999  0H0H I##/ $$557 !% 4 4##'88 ##% 9 r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     & & &t &r$   c                   < S! V 4       V P                   pVP                  e:   VP                  VP                  P                  8X  d   VP	                  4        R# R# R# )z
Extend the selection
N)r'   rY  r   original_cursor_positionr   )r5   r   rU  s   & r"   _extend_selection>load_emacs_shift_selection_bindings.<locals>._extend_selection  sU     	U##+##t';';'T'TT##% U ,r$   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     / /! / /r$   c                n    V P                   P                  4        \        R4      P                  V 4       R# )z$
Replace selection by what is typed
zself-insertN)r'   r   r   rQ  r:   s   &r"   _replace_selection?load_emacs_shift_selection_bindings.<locals>._replace_selection  s)    
 	**,M"''.r$   r   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     F F Fd Fr$   c                    V P                   P                  4        V P                   P                  \        4       '       * R7       R# )z"
A newline replaces the selection
)copy_marginN)r'   r   newliner   r:   s   &r"   _newline5load_emacs_shift_selection_bindings.<locals>._newline  s2    
 	**,$$]_1D$Er$   rQ   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     - -q -T -r$   c                :    V P                   P                  4        R# )z
Delete selection.
N)r'   r   r:   s   &r"   _delete4load_emacs_shift_selection_bindings.<locals>._delete  s    
 	**,r$   rJ   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB    s     ( (Q (4 (r$   c                    V P                   pVP                  '       d   VP                  4        \        R4      P	                  V 4       R# )zC
In shift selection mode, yanking (pasting) replace the selection.
rI   N)r'   rY  r   r   rQ  r   s   & r"   _yank2load_emacs_shift_selection_bindings.<locals>._yank  s:    
 ## F  'r$   r   r   r#  r$  homeendrC   rE   rS   rU   c                    V ^8  d   QhRRRR/# r4   r    )r!   s   "r"   r#   rB  *  s     8 8q 8T 8r$   c                    V P                   P                  4        V P                  ^ ,          pV P                  P	                  VRR7       R# )r   T)firstN)r'   r   rD  r,   feed)r5   	key_presss   & r"   r   4load_emacs_shift_selection_bindings.<locals>._cancel   s?     	++-&&q)	  $ 7r$   )	r   r  r   r   r   r  r   r   r   )
r  r{   r   r`  rd  rj  rn  rr  r   rU  s
            @r"   #load_emacs_shift_selection_bindingsr|    s   
 =LF#$J Hm^,I}n-FM>*Hm^,Hm^,G]N+J~.K/J~.I}n-& . / 0 / , - - + . -&, H12I23F/0H12H12G01J34K 45J34I23& 4 5 6 5 2 3 3 1 4 3& DHH12/ 3/ G0<?@F AF K 45- 6- E./( 0( F/0G01D-.F/0F/0E./H12I23H12G018 2 3 4 3 0 1 1 / 2 18 ",
;;r$   N)r  r>  r|  )*
__future__r   "prompt_toolkit.application.currentr   prompt_toolkit.bufferr   r   r   prompt_toolkit.completionr   prompt_toolkit.filtersr	   r
   r   r   r   r   r   r   r   r   'prompt_toolkit.key_binding.key_bindingsr   (prompt_toolkit.key_binding.key_processorr   prompt_toolkit.keysr   prompt_toolkit.selectionr   r  r   r   r   named_commandsr   __all__r6   r(   r.   r  r>  r|  r    r$   r"   <module>r     s    " 6 : : 3   < B $ 2 O O '  2 2 . .g<T	?<DY<r$   