
    Mh=                        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dS )    )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_bindingseventEreturnboolc                    | j          S )zXCallable that returns True when the previous event was delivered to
    another handler.)	is_repeatr   s    i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/key_binding/bindings/basic.pyif_no_repeatr      s         c                 L    t          t                      j        j                  S N)r   r   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    99""r   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                  d|d^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }  |dA          t          d_                       |dB          t          d`                       |d<          t          da                       |d;          t          db                       |dR          t          dc                       |dS          t          dd                       |d          t          de                       |d|f          t          dg                       |d|f          t          dh                       |d8|t          i          t          dj                       |dE|t          i          t          dk                       |dG|t          i          t          dk                       |t          j        |t          i          t          dl                       |d|f          t          dm                       |d	|f          t          dn                       |dJ|f          t          do                       |d|f          t          dp                       |dHt           f          t          dc                       |dIt           f          t          dd                       |dt          |z  f          t          dk                      |dq|t          z  f          d|dr            } |d
          d|ds            } |d9          d|dt            } |d:          d|du            } |dEt          f          d|dv            } |d          d|dw            }	 |t          j                  d|dx            }
 |t          j        t          dyz          d|d{            }| S )}Nz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>r   r   r   Nonec                    dS )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)rN   save_beforezbackward-delete-charzdelete-charzself-insertztranspose-charszmenu-completezmenu-complete-backwardzunix-word-ruboutenterc                V    | j                             t                                  dS )z6
        Newline (in case of multiline input.
        )copy_marginN)r   newliner   r   s    r   _newlinez%load_basic_bindings.<locals>._newline   s+    
 	$$]__1D$EEEEEr   c                n    | j                             t          t          j        d          d           dS )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   s2     	  $-!>!>d KKKKKr   c                F    | j                             | j                   d S N)count)r   auto_upargr   s    r   _go_upz#load_basic_bindings.<locals>._go_up   s$    $$59$55555r   c                F    | j                             | j                   d S r]   )r   	auto_downr`   r   s    r   _go_downz%load_basic_bindings.<locals>._go_down   s$    &&UY&77777r   c                v    | j                                         }| j        j                            |           d S r   )r   cut_selectionapp	clipboardset_datar   datas     r   _cutz!load_basic_bindings.<locals>._cut   s5    #1133	$$T*****r   c                D    | j                             | j                   dS )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_textrk   r   s    r   _insert_ctrl_zz+load_basic_bindings.<locals>._insert_ctrl_z   s#     	((44444r   c                    | j         }|                    dd          }|                    dd          }| j                            |           dS )z)
        Pasting from clipboard.
        z

rV   N)rk   replacer   rn   rj   s     r   _pastez#load_basic_bindings.<locals>._paste   sP    
 z
 ||FD))||D$''((.....r   T)rN   eagerc                `    | j                             | j        d           d| j        _        dS )z'
        Handle quoted insert.
        F)	overwriteN)r   rn   rk   rg   r$   r   s    r   _insert_textz)load_basic_bindings.<locals>._insert_text   s2    
 	((u(EEE"'	r   )r   r   r   rK   )r   r
   r   addr   Ignorer   r   Anyr   r"   r	   BracketedPaster%   )key_bindingsinsert_modehandlerM   rT   r[   ra   rd   rl   ro   rs   rw   s               r   r   r   *   ss   ==L #44KFVE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VD\\VD\\VD\\VD\\VD\\VD\\VD\\VD\\VD\\VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VE]]VF^^VE]]VE]]VE]]VKVD\\VF^^VG__VF^^VF^^VHVIVHVF^^VE]]VHVG__VHVJVJVHVJVG__VE]]VJVKVJVIVHVIVF^^VHVHVG__VHVJVJVJVDK	 	 	      _   ^       ] _      _  ] ^    ^ ^ _ ^ \  ] ] ] ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] \ \ \ \ \ \ \ \ \ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]t	 FF6NN;233444FF5MM+m,,---FF6NN;//000FF7OOK//000FF6NN;122333FF8[00111FF5MM+n--...%FF5%%%k+&>&>???%FF5%%%k2E&F&FGGGEFF;{EEE*++   CFF8K\BBBM""   EFF:k|DDDM""   CFF48K\BBBM""   &FF5%%%k2C&D&DEEE%FF5%%%k/&B&BCCC'FF7;'''4L(M(MNNN &FF5%%%k2D&E&EFFF+FF8]N+++K8J,K,KLLL-FF:}n---k..I.IJJJ ?FF5/+=>>>M""   VGK,6777F F F 87F VE]]L L L ]L VD\\6 6 6 \6 VF^^8 8 8 ^8 VH]++++ + + ,++ VE]]
5 
5 
5 ]
5 VD  / / / ! / VDH-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      sU   " " " " " " 6 6 6 6 6 6                M L L L L L L L $ $ $ $ $ $ & & & & & & ' ' ' ' ' '      / / / / # # # #W W W W W Wr   