
    ^h=                        S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
  S SKJrJr  S SKJr  SSKJr  SS	KJr  S
/r\rSS jr\SS j5       r\SS j5       rSS jrg)    )annotations)get_app)	Conditionemacs_insert_modehas_selectionin_paste_modeis_multilinevi_insert_mode)KeyPressKeyPressEvent)Keys   )KeyBindings   )get_by_nameload_basic_bindingsc                $    U R                   (       + $ )zTCallable that returns True when the previous event was delivered to
another handler.)	is_repeatevents    c/home/james-whalen/.local/lib/python3.13/site-packages/prompt_toolkit/key_binding/bindings/basic.pyif_no_repeatr      s         c                 P    [        [        5       R                  R                  5      $ N)boolr   current_buffertext r   r   has_text_before_cursorr        s    	((--..r   c                 *    [        5       R                  $ r   )r   quoted_insertr   r   r   in_quoted_insertr#   %   s    9"""r   c            \     d   [        5       n [        [        -  nU R                  nU" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S	5      U" S
5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S5      U" S 5      U" S!5      U" S"5      U" S#5      U" S$5      U" S%5      U" S&5      U" S'5      U" S(5      U" S)5      U" S*5      U" S+5      U" S,5      U" S-5      U" S.5      U" S/5      U" S05      U" S15      U" S25      U" S35      U" S45      U" S55      U" S65      U" S75      U" S85      U" S95      U" S:5      U" S;5      U" S<5      U" S=5      U" S>5      U" S?5      U" S@5      U" SA5      U" SB5      U" SC5      U" SD5      U" SE5      U" SF5      U" SG5      U" SH5      U" SI5      U" SJ5      U" SK5      U" SL5      U" SM5      U" SN5      U" SO5      U" SP5      U" SQ5      U" SR5      U" SS5      U" ST5      U" SU5      U" SV5      U" SW5      U" SX5      U" SY5      U" [        R
                  5      SxSZ j5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       5       nU" SA5      " [        S[5      5        U" SB5      " [        S\5      5        U" S<5      " [        S]5      5        U" S;5      " [        S^5      5        U" SR5      " [        S_5      5        U" SS5      " [        S`5      5        U" S5      " [        Sa5      5        U" SUSb9" [        Sc5      5        U" SUSb9" [        Sd5      5        U" S8U[        Se9" [        Sf5      5        U" SEU[        Se9" [        Sg5      5        U" SGU[        Se9" [        Sg5      5        U" [        R                  U[        Se9" [        Sh5      5        U" SUSb9" [        Si5      5        U" S	USb9" [        Sj5      5        U" SJUSb9" [        Sk5      5        U" SUSb9" [        Sl5      5        U" SH[        ) Sb9" [        S_5      5        U" SI[        ) Sb9" [        S`5      5        U" S[        U-  Sb9" [        Sg5      5        U" SmU[        -  Sb9SxSn j5       nU" S
5      SxSo j5       nU" S95      SxSp j5       nU" S:5      SxSq j5       nU" SE[        Sb9SxSr j5       nU" S5      SxSs j5       n	U" [        R                  5      SxSt j5       n
U" [        R                  [        SuSv9SxSw j5       nU $ )yNzc-azc-bzc-czc-dzc-ezc-fzc-gzc-hzc-izc-jzc-kzc-lzc-mzc-nzc-ozc-pzc-qzc-rzc-szc-tzc-uzc-vzc-wzc-xzc-yzc-zf1f2f3f4f5f6f7f8f9f10f11f12f13f14f15f16f17f18f19f20f21f22f23f24zc-@zc-\zc-]zc-^zc-_	backspaceupdownrightleftzs-upzs-downzs-rightzs-lefthomeendzs-homezs-enddeletezs-deletezc-deletepageuppagedownzs-tabtabzc-s-leftz	c-s-rightzc-s-homezc-s-endzc-leftzc-rightzc-upzc-downzc-homezc-endinsertzs-insertzc-insertz<sigint>c                    g)a  
First, for any of these keys, Don't do anything by default. Also don't
catch them in the 'Any' handler which will insert them as data.

If people want to insert these characters as a literal, they can always
do by doing a quoted insert. (ControlQ in emacs mode, ControlV in Vi
mode.)
Nr   r   s    r   _ignore$load_basic_bindings.<locals>._ignore/   s    F 	r   zbeginning-of-linezend-of-linezbackward-charzforward-charzprevious-historyznext-historyzclear-screen)filterz	kill-linezunix-line-discard)rL   save_beforezbackward-delete-charzdelete-charzself-insertztranspose-charszmenu-completezmenu-complete-backwardzunix-word-ruboutenterc                P    U R                   R                  [        5       (       + S9  g)z&
Newline (in case of multiline input.
)copy_marginN)r   newliner   r   s    r   _newline%load_basic_bindings.<locals>._newline   s     
 	$$]_1D$Er   c                h    U R                   R                  [        [        R                  S5      SS9  g)z
By default, handle \n as if it were a \r (enter).
(It appears that some terminals send \n instead of \r when pressing
enter. - at least the Linux subsystem for Windows.)
T)firstN)key_processorfeedr   r   ControlMr   s    r   	_newline2&load_basic_bindings.<locals>._newline2   s(     	  $--!>d Kr   c                J    U R                   R                  U R                  S9  g N)count)r   auto_upargr   s    r   _go_up#load_basic_bindings.<locals>._go_up   s    $$599$5r   c                J    U R                   R                  U R                  S9  g r]   )r   	auto_downr`   r   s    r   _go_down%load_basic_bindings.<locals>._go_down   s    &&UYY&7r   c                    U R                   R                  5       nU R                  R                  R	                  U5        g r   )r   cut_selectionapp	clipboardset_datar   datas     r   _cut!load_basic_bindings.<locals>._cut   s.    ##113		$$T*r   c                N    U R                   R                  U R                  5        g)a2  
By default, control-Z should literally insert Ctrl-Z.
(Ansi Ctrl-Z, code 26 in MSDOS means End-Of-File.
In a Python REPL for instance, it's possible to type
Control-Z followed by enter to quit.)

When the system bindings are loaded and suspend-to-background is
supported, that will override this binding.
N)r   insert_textrm   r   s    r   _insert_ctrl_z+load_basic_bindings.<locals>._insert_ctrl_z   s     	((4r   c                    U R                   nUR                  SS5      nUR                  SS5      nU R                  R                  U5        g)z
Pasting from clipboard.
z

rU   N)rm   replacer   rq   rl   s     r   _paste#load_basic_bindings.<locals>._paste   sC    
 zz
 ||FD)||D$'((.r   T)rL   eagerc                n    U R                   R                  U R                  SS9  SU R                  l        g)z
Handle quoted insert.
F)	overwriteN)r   rq   rm   ri   r"   r   s    r   _insert_text)load_basic_bindings.<locals>._insert_text   s-    
 	((u(E"'		r   )r   EreturnNone)r   r
   r   addr   Ignorer   r   Anyr   r    r	   BracketedPaster#   )key_bindingsinsert_modehandlerJ   rR   rZ   ra   re   rn   rr   rw   r|   s               r   r   r   *   s   =L #44KFE]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]D\D\D\D\D\D\D\D\D\E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]E]F^E]E]E]KD\F^G_F^F^HIHF^E]HG_HJJHJG_E]JKJIHIF^HHG_HJJJDKK	                                                                                          t	 6N;234
5M+m,-
6N;/0
7OK/0
6N;123
8[01
5M+n-.
5%k+&>?
5%k2E&FG
;{E*+ 8K\BM" :k|DM" 488K\BM" 5%k2C&DE
5%k/&BC
7;'4L(MN 5%k2D&EF
8]N+K8J,KL
:}n-k..IJ 5/+=>M" GK,67F 8F E]L L D\6 6 F^8 8 H]++ ,+ E]
5 
5 D / !/ DHH-T:( ;( r   N)r   r~   r   r   )r   r   )r   r   )
__future__r   "prompt_toolkit.application.currentr   prompt_toolkit.filtersr   r   r   r   r	   r
   (prompt_toolkit.key_binding.key_processorr   r   prompt_toolkit.keysr   r   r   named_commandsr   __all__r~   r   r    r#   r   r   r   r   <module>r      sj    " 6  M $ & '   / / # #Wr   