
    f=                        d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZ ddlmZ dd	lmZ d
gZeZddZedd       Zedd       ZddZy)    )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                    | j                    S )zXCallable that returns True when the previous event was delivered to
    another handler.)	is_repeatevents    d/var/www/cvtools/html/venv/lib/python3.12/site-packages/prompt_toolkit/key_binding/bindings/basic.pyif_no_repeatr      s         c                 P    t        t               j                  j                        S N)boolr   current_buffertext r   r   has_text_before_cursorr        s    	((--..r   c                 *    t               j                  S r   )r   quoted_insertr   r   r   in_quoted_insertr#   %   s    9"""r   c            \        t               } t        t        z  }| j                  } |d       |d       |d       |d       |d       |d       |d       |d       |d	       |d
       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d       |d        |d!       |d"       |d#       |d$       |d%       |d&       |d'       |d(       |d)       |d*       |d+       |d,       |d-       |d.       |d/       |d0       |d1       |d2       |d3       |d4       |d5       |d6       |d7       |d8       |d9       |d:       |d;       |d<       |d=       |d>       |d?       |d@       |dA       |dB       |dC       |dD       |dE       |dF       |dG       |dH       |dI       |dJ       |dK       |dL       |dM       |dN       |dO       |dP       |dQ       |dR       |dS       |dT       |dU       |dV       |dW       |dX       |dY       |t        j
                        dxdZ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      }  |dA      t        d[               |dB      t        d\               |d<      t        d]               |d;      t        d^               |dR      t        d_               |dS      t        d`               |d      t        da               |d|b      t        dc               |d|b      t        dd               |d8|t        e      t        df               |dE|t        e      t        dg               |dG|t        e      t        dg               |t        j                  |t        e      t        dh               |d|b      t        di               |d	|b      t        dj               |dJ|b      t        dk               |d|b      t        dl               |dHt         b      t        d_               |dIt         b      t        d`               |dt        |z  b      t        dg              |dm|t        z  b      dxdn       } |d
      dxdo       } |d9      dxdp       } |d:      dxdq       } |dEt        b      dxdr       } |d      dxds       }	 |t        j                        dxdt       }
 |t        j                  t        duv      dxdw       }| S )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                     y)aM  
        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   _ignorez$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)rK   save_beforezbackward-delete-charzdelete-charzself-insertztranspose-charszmenu-completezmenu-complete-backwardzunix-word-ruboutenterc                N    | j                   j                  t                       y)z6
        Newline (in case of multiline input.
        )copy_marginN)r   newliner   r   s    r   _newlinez%load_basic_bindings.<locals>._newline   s     
 	$$]_1D$Er   c                n    | j                   j                  t        t        j                  d      d       y)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   	_newline2z&load_basic_bindings.<locals>._newline2   s(     	  $--!>d Kr   c                P    | j                   j                  | j                         y N)count)r   auto_upargr   s    r   _go_upz#load_basic_bindings.<locals>._go_up   s    $$599$5r   c                P    | j                   j                  | j                         y rZ   )r   	auto_downr]   r   s    r   _go_downz%load_basic_bindings.<locals>._go_down   s    &&UYY&7r   c                    | j                   j                         }| j                  j                  j	                  |       y r   )r   cut_selectionapp	clipboardset_datar   datas     r   _cutz!load_basic_bindings.<locals>._cut   s.    ##113		$$T*r   c                N    | j                   j                  | j                         y)aj  
        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_textrh   r   s    r   _insert_ctrl_zz+load_basic_bindings.<locals>._insert_ctrl_z   s     	((4r   c                    | j                   }|j                  dd      }|j                  dd      }| j                  j                  |       y)z)
        Pasting from clipboard.
        z

rS   N)rh   replacer   rk   rg   s     r   _pastez#load_basic_bindings.<locals>._paste   sC    
 zz
 ||FD)||D$'((.r   T)rK   eagerc                t    | j                   j                  | j                  d       d| j                  _        y)z'
        Handle quoted insert.
        F)	overwriteN)r   rk   rh   rd   r"   r   s    r   _insert_textz)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   rQ   rX   r^   ra   ri   rl   rp   rt   s               r   r   r   *   sG   =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	 F6N;234F5M+m,-F6N;/0F7OK/0F6N;123F8[01F5M+n-.%F5%k+&>?%F5%k2E&FGEF;{E*+ CF8K\BM" EF:k|DM" CF488K\BM" &F5%k2C&DE%F5%k/&BC'F7;'4L(MN &F5%k2D&EF+F8]N+K8J,KL-F:}n-k..IJ ?F5/+=>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   ru   rv   r   )rv   r   )rv   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__ru   r   r    r#   r   r   r   r   <module>r      sj    " 6  M $ & '   / / # #Wr   