
    F\h/                       S SK Jr  S SKr  " S S5      r " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      r	 " S S\5      r
S[S jrS[S jr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\
5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\5      r " S1 S2\5      r " S3 S4\5      r " S5 S6\5      r " S7 S8\5      r  " S9 S:\5      r! " S; S<\5      r" " S= S>\5      r# " S? S@\5      r$ " SA SB\	5      r% " SC SD\	5      r& " SE SF\	5      r' " SG SH\	5      r( " SI SJ\	5      r) " SK SL\
5      r* " SM SN\5      r+ " SO SP\5      r, " SQ SR\5      r- " SS ST\5      r. " SU SV\5      r/ " SW SX\5      r0 " SY SZ\5      r1g)\    )annotationsNc                  V    \ rS rSr% SrS\S'   SrS\S'           SS jrSS jrS	r	g
)Command(   FboolfinishTkills_digit_argc                (    Xl         X0l        X l        g N)readerevent
event_name)selfr   r   r   s       '/usr/lib/python3.13/_pyrepl/commands.py__init__Command.__init__,   s     
$    c                    g r    r   s    r   do
Command.do7       r   )r   r   r   N)r   HistoricalReaderr   strr   z	list[str]returnNoner   r   )
__name__
__module____qualname____firstlineno__r   __annotations__r	   r   r   __static_attributes__r   r   r   r   r   (   s@    FD OT 	%&	%47	%@I	%		%r   r   c                      \ rS rSrSS jrSrg)KillCommand;   c                p   X:X  a  g U R                   nUR                  nXAU nXAU2	 [        UR                  5      (       aN  XR                  :  a  XSR
                  S   -   UR
                  S'   O;UR
                  S   U-   UR
                  S'   OUR
                  R                  U5        Xl        SUl        g )NT)r   bufferis_killlast_commandpos	kill_ringappenddirty)r   startendrbtexts         r   
kill_rangeKillCommand.kill_range<   s    <KKHHs|CiL1>>""uu}"&R"8B"#++b/D"8BKKt$r   r   N)r1   intr2   r8   r   r   )r   r    r!   r"   r6   r$   r   r   r   r&   r&   ;   s    r   r&   c                      \ rS rSrSrg)YankCommandN   r   Nr   r    r!   r"   r$   r   r   r   r:   r:   N       r   r:   c                      \ rS rSrSrg)MotionCommandR   r   Nr<   r   r   r   r?   r?   R   r=   r   r?   c                      \ rS rSrSrg)EditCommandV   r   Nr<   r   r   r   rB   rB   V   r=   r   rB   c                      \ rS rSrSrSrg)FinishCommandZ   Tr   N)r   r    r!   r"   r   r$   r   r   r   rE   rE   Z   s
    Fr   rE   c                8    U S L=(       a    [        U [        5      $ r   )
issubclassr&   commands    r   r+   r+   _       $C:g{#CCr   c                8    U S L=(       a    [        U [        5      $ r   )rH   r:   rI   s    r   is_yankrM   c   rK   r   c                  "    \ rS rSrSrSS jrSrg)	digit_argj   Fc                `   U R                   nU R                  S   nUS:X  a(  UR                  b  UR                  * Ul        OfSUl        O^[        U5      nUR                  c  X1l        O?UR                  S:  a  SUR                  -  U-
  Ul        OSUR                  -  U-   Ul        SUl        g )Nr)   -r   
   T)r   r   argr8   r0   )r   r3   cds       r   r   digit_arg.dom   s    KKJJrN8uu AAuu}5519JNAEJNAEr   r   Nr   )r   r    r!   r"   r	   r   r$   r   r   r   rO   rO   j   s    Or   rO   c                      \ rS rSrSS jrSrg)clear_screen   c                ^    U R                   nUR                  R                  5         SUl        g NT)r   consoleclearr0   r   r3   s     r   r   clear_screen.do   s     KK			r   r   Nr   r   r    r!   r"   r   r$   r   r   r   rY   rY          r   rY   c                      \ rS rSrSS jrSrg)refresh   c                &    SU R                   l        g r\   )r   r0   r   s    r   r   
refresh.do   s     r   r   Nr   ra   r   r   r   rd   rd      s    !r   rd   c                      \ rS rSrSS jrSrg)repaint   c                n    SU R                   l        U R                   R                  R                  5         g r\   )r   r0   r]   ri   r   s    r   r   
repaint.do   s$     ##%r   r   Nr   ra   r   r   r   ri   ri      s    &r   ri   c                      \ rS rSrSS jrSrg)	kill_line   c                "   U R                   nUR                  nUR                  5       nX!R                  U  H6  nUR	                  5       (       a  M  U R                  UR                  U5          g    U R                  UR                  US-   5        g )N   )r   r*   eolr-   isspacer6   )r   r3   r4   rr   rU   s        r   r   kill_line.do   si    KKHHeeg553A99;;s+  
 OOAEE37+r   r   Nr   ra   r   r   r   rn   rn      s    	,r   rn   c                      \ rS rSrSS jrSrg)unix_line_discard   c                p    U R                   nU R                  UR                  5       UR                  5        g r   )r   r6   bolr-   r_   s     r   r   unix_line_discard.do   s#    KK'r   r   Nr   ra   r   r   r   rv   rv      s    (r   rv   c                      \ rS rSrSS jrSrg)unix_word_rubout   c                    U R                   n[        UR                  5       5       H-  nU R                  UR	                  5       UR
                  5        M/     g r   r   rangeget_argr6   bowr-   r   r3   is      r   r   unix_word_rubout.do   8    KKqyy{#AOOAEEGQUU+ $r   r   Nr   ra   r   r   r   r|   r|          ,r   r|   c                      \ rS rSrSS jrSrg)	kill_word   c                    U R                   n[        UR                  5       5       H-  nU R                  UR                  UR                  5       5        M/     g r   )r   r   r   r6   r-   eowr   s      r   r   kill_word.do   s8    KKqyy{#AOOAEE1557+ $r   r   Nr   ra   r   r   r   r   r      r   r   r   c                      \ rS rSrSS jrSrg)backward_kill_word   c                    U R                   n[        UR                  5       5       H-  nU R                  UR	                  5       UR
                  5        M/     g r   r   r   s      r   r   backward_kill_word.do   r   r   r   Nr   ra   r   r   r   r   r      r   r   r   c                      \ rS rSrSS jrSrg)yank   c                    U R                   nUR                  (       d  UR                  S5        g UR                  UR                  S   5        g )Nnothing to yankr)   )r   r.   errorinsertr_   s     r   r   yank.do   s6    KK{{GG%&	R!r   r   Nr   ra   r   r   r   r   r      s    "r   r   c                      \ rS rSrSS jrSrg)yank_pop   c                   U R                   nUR                  nUR                  (       d  UR                  S5        g [	        UR
                  5      (       d  UR                  S5        g [        UR                  S   5      nUR                  R                  SUR                  R                  5       5        UR                  S   nXBUR                  U-
  UR                  & UR                  U-
  [        U5      -   Ul	        SUl
        g )Nr   zprevious command was not a yankr)   r   T)r   r*   r.   r   rM   r,   lenr   popr-   r0   )r   r3   r4   replts        r   r   yank_pop.do   s    KKHH{{GG%&q~~&&GG561;;r?#	1akkoo/0KKO"#!%%$,s1v%r   r   Nr   ra   r   r   r   r   r      s    r   r   c                      \ rS rSrSS jrSrg)	interrupt   c                    SS K nU R                  R                  R                  5         U R                  R                  5         [        R
                  " [        R                  " 5       UR                  5        g Nr   )signalr   r]   r   oskillgetpidSIGINT)r   r   s     r   r   interrupt.do   sC    ""$
		V]]+r   r   Nr   ra   r   r   r   r   r      s    ,r   r   c                      \ rS rSrSS jrSrg)ctrl_c   c                    U R                   R                  R                  5         U R                   R                  5         [        er   )r   r]   r   KeyboardInterruptr   s    r   r   	ctrl_c.do   s.    ""$r   r   Nr   ra   r   r   r   r   r      s     r   r   c                      \ rS rSrSS jrSrg)suspend   c                H   SS K nU R                  nUR                  nUR                  R	                  5         [
        R                  " [
        R                  " 5       UR                  5        UR                  R                  5         X2l        SUl
        / UR                  l        g )Nr   T)r   r   r-   r]   r   r   r   r   SIGSTOPpreparer0   screen)r   r   r3   ps       r   r   
suspend.do   si    KKEE			
		V^^, 	
				r   r   Nr   ra   r   r   r   r   r      s    r   r   c                      \ rS rSrSS jrSrg)up   c                &   U R                   n[        UR                  5       5       H  nUR                  5       u  p4US-
  nUR	                  5       S:X  aJ  UR
                  S:  a   UR                  UR
                  S-
  5          g SUl        UR                  S5          g UUR                  U5      =n:  dF  X1R                  U5      :X  a4  [        S UR                  UR	                  5       S   5       5      (       a  UnUR                  X55        M     g )Nrq   r   start of bufferc              3  J   #    U  H  oR                  5       (       + v   M     g 7fr   rs   .0r   s     r   	<genexpr>up.do.<locals>.<genexpr>        -@		OO-@   !#)r   r   r   pos2xyry   historyiselect_itemr-   r   
max_columnanyr*   setpos_from_xy)r   r3   _xynew_ynew_xs          r   r   up.do   s    KKqyy{#A88:DAEEuuw!|::>MM!**q.1)* \\%00E Q' -.XXaeegi-@   Q&1 $r   r   Nr   ra   r   r   r   r   r      s    'r   r   c                      \ rS rSrSS jrSrg)downi  c                   U R                   nUR                  n[        UR                  5       5       GH$  nUR	                  5       u  pEUS-   nUR                  5       [        U5      :X  a|  UR                  [        UR                  5      :  a6  UR                  UR                  S-   5        UR                  S5      Ul
          g [        U5      Ul
        UR                  S5          g UUR                  U5      =n:  dF  XAR                  U5      :X  a4  [        S UR                  UR                  5       S   5       5      (       a  UnUR                  XF5        GM'     g )Nrq   r   end of bufferc              3  J   #    U  H  oR                  5       (       + v   M     g 7fr   r   r   s     r   r   down.do.<locals>.<genexpr>,  r   r   )r   r*   r   r   r   rr   r   r   historyr   r-   r   r   r   ry   r   )r   r3   r4   r   r   r   r   r   s           r   r   down.do  s   KKHHqyy{#A88:DAEEuuw#a& ::AII.MM!**q.1EE!HAEA( \\%00E Q' -.XXaeegi-@   Q&3 $r   r   Nr   ra   r   r   r   r   r     s    'r   r   c                      \ rS rSrSS jrSrg)lefti5  c                    U R                   n[        UR                  5       5       H;  nUR                  S-
  nUS:  a  X1l        M   U R                   R	                  S5        M=     g )Nrq   r   r   )r   r   r   r-   r   )r   r3   r   r   s       r   r   left.do6  sL    KKqyy{#A	AAv!!"34 $r   r   Nr   ra   r   r   r   r   r   5  s    5r   r   c                      \ rS rSrSS jrSrg)righti@  c                    U R                   nUR                  n[        UR                  5       5       HD  nUR                  S-   nU[        U5      ::  a  XAl        M)  U R                   R                  S5        MF     g )Nrq   r   )r   r*   r   r   r-   r   r   )r   r3   r4   r   r   s        r   r   right.doA  sX    KKHHqyy{#A	ACF{!!/2 $r   r   Nr   ra   r   r   r   r   r   @  s    3r   r   c                      \ rS rSrSS jrSrg)beginning_of_lineiL  c                V    U R                   R                  5       U R                   l        g r   )r   ry   r-   r   s    r   r   beginning_of_line.doM      ++//+r   r   Nr   ra   r   r   r   r   r   L      ,r   r   c                      \ rS rSrSS jrSrg)end_of_lineiQ  c                V    U R                   R                  5       U R                   l        g r   )r   rr   r-   r   s    r   r   end_of_line.doR  r   r   r   Nr   ra   r   r   r   r   r   Q  r   r   r   c                      \ rS rSrSS jrSrg)homeiV  c                &    SU R                   l        g r   )r   r-   r   s    r   r   home.doW  s    r   r   Nr   ra   r   r   r   r   r   V  s    r   r   c                      \ rS rSrSS jrSrg)r2   i[  c                `    [        U R                  R                  5      U R                  l        g r   )r   r   r*   r-   r   s    r   r   end.do\  s    dkk001r   r   Nr   ra   r   r   r   r2   r2   [  s    2r   r2   c                      \ rS rSrSS jrSrg)forward_wordi`  c                    U R                   n[        UR                  5       5       H  nUR                  5       Ul        M     g r   )r   r   r   r   r-   r   s      r   r   forward_word.doa  -    KKqyy{#AEEGAE $r   r   Nr   ra   r   r   r   r   r   `      r   r   c                      \ rS rSrSS jrSrg)backward_wordig  c                    U R                   n[        UR                  5       5       H  nUR                  5       Ul        M     g r   )r   r   r   r   r-   r   s      r   r   backward_word.doh  r   r   r   Nr   ra   r   r   r   r   r   g  r   r   r   c                      \ rS rSrSS jrSrg)self_insertin  c                x    U R                   nU R                  UR                  5       -  nUR                  U5        g r   )r   r   r   r   )r   r3   r5   s      r   r   self_insert.doo  s*    KKzzAIIK'	r   r   Nr   ra   r   r   r   r  r  n  rb   r   r  c                      \ rS rSrSS jrSrg)	insert_nliu  c                `    U R                   nUR                  SUR                  5       -  5        g )N
)r   r   r   r_   s     r   r   insert_nl.dov  s"    KK			#$r   r   Nr   ra   r   r   r   r  r  u  s    %r   r  c                      \ rS rSrSS jrSrg)transpose_charactersi{  c                B   U R                   nUR                  nUR                  S-
  nUS:  a  UR                  S5        g U[	        U5      :X  a  US-  n[        X1R                  5       -   [	        U5      S-
  5      nX#   nX#	 UR                  XE5        XAl        SUl        g )Nrq   r   z#cannot transpose at start of bufferT)	r   r*   r-   r   r   minr   r   r0   )r   r3   r4   sr   rU   s         r   r   transpose_characters.do|  s    KKHHEEAIq5GG9:CF{QA		OSVaZ0AAHHQNEAGr   r   Nr   ra   r   r   r   r  r  {  s    r   r  c                      \ rS rSrSS jrSrg)	backspacei  c                   U R                   nUR                  n[        UR                  5       5       HX  nUR                  S:  a*  U=R                  S-  sl        X!R                  	 SUl        M=  U R                   R                  S5        MZ     g )Nr   rq   Tzcan't backspace at start)r   r*   r   r   r-   r0   r   r   r3   r4   r   s       r   r   backspace.do  sd    KKHHqyy{#Auuqy
eeH!!"<= $r   r   Nr   ra   r   r   r   r  r    s    	>r   r  c                      \ rS rSrSS jrSrg)deletei  c                   U R                   nUR                  nUR                  S:X  aR  [        U5      S:X  aC  U R                  S   S:X  a0  UR                  5         UR                  R                  5         [        e[        UR                  5       5       HL  nUR                  [        U5      :w  a  X!R                  	 SUl        M1  U R                   R                  S5        MN     g )Nr   r)   Tr   )r   r*   r-   r   r   update_screenr]   r   EOFErrorr   r   r0   r   r  s       r   r   	delete.do  s    KKHHEEQJA!

2&(OOIINqyy{#AuuAeeH!!/2 $r   r   Nr   ra   r   r   r   r  r    s    3r   r  c                      \ rS rSrSS jrSrg)accepti  c                    g r   r   r   s    r   r   	accept.do  r   r   r   Nr   ra   r   r   r   r  r    s    r   r  c                      \ rS rSrSS jrSrg)helpi  c                    SS K nU R                  R                  5          UR                  5       " 5       U R                  l        S S S 5        g ! , (       d  f       g = fr   )_sitebuiltinsr   r   _Helpermsg)r   r$  s     r   r   help.do  s8    [[  "+3357DKKO #""s   %A
Ar   Nr   ra   r   r   r   r"  r"    s    8r   r"  c                      \ rS rSrSS jrSrg)invalid_keyi  c                    U R                   R                  R                  5       nSR                  U R                  5      UR
                  -   nU R                   R                  SU-  5        g )N z`%r' not bound)r   r]   
getpendingjoinr   datar   )r   pendingr  s      r   r   invalid_key.do  sM    ++%%002GGDJJ',,.*Q./r   r   Nr   ra   r   r   r   r)  r)    s    0r   r)  c                      \ rS rSrSS jrSrg)invalid_commandi  c                X    U R                   nU R                  R                  SU-  5        g )Nzcommand `%s' not known)r   r   r   )r   r  s     r   r   invalid_command.do  s#    OO2Q67r   r   Nr   ra   r   r   r   r2  r2    s    8r   r2  c                      \ rS rSrSS jrSrg)show_historyi  c                   SSK Jn  SSKJn  [        R
                  R                  U R                  R                  S S  5      nU R                  R                  R                  5         U" 5       nU" X2" 5       5        U R                  R                  R                  5         U R                  R                  R                  5       U R                  R                  l        U R                  R                  U R                  R                  l        g )Nrq   )	get_pagerr   )gethistoryfile)pagerr8  siter9  r   linesepr-  r   r   r]   restorer   r   copycxyposxy)r   r8  r9  r   r:  s        r   r   show_history.do  s    $'**//$++"5"5a"89##%g~'(##% &*[[%7%7%<%<%>"$(KKOO!r   r   Nr   ra   r   r   r   r6  r6    s    4r   r6  c                      \ rS rSrSS jrSrg)
paste_modei  c                z    U R                   R                  (       + U R                   l        SU R                   l        g r\   )r   rC  r0   r   s    r   r   paste_mode.do  s'    %)[[%;%;!; r   r   Nr   ra   r   r   r   rC  rC    s    !r   rC  c                      \ rS rSrSS jrSrg)enable_bracketed_pastei  c                H    SU R                   l        SU R                   l        g r\   )r   rC  in_bracketed_paster   s    r   r   enable_bracketed_paste.do  s    !%)-&r   r   Nr   ra   r   r   r   rG  rG    s    .r   rG  c                      \ rS rSrSS jrSrg)disable_bracketed_pastei  c                j    SU R                   l        SU R                   l        SU R                   l        g )NFT)r   rC  rI  r0   r   s    r   r   disable_bracketed_paste.do  s&    !&).& r   r   Nr   ra   r   r   r   rL  rL    s    !r   rL  )rJ   ztype[Command] | Noner   r   )2
__future__r   r   historical_readerr   r   r&   r:   r?   rB   rE   r+   rM   rO   rY   rd   ri   rn   rv   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   r   r   r  r  r  r  r  r  r"  r)  r2  r6  rC  rG  rL  r   r   r   <module>rQ     s!  , # 	 	 &' &	' 		G 		' 		G 	
DD .7 !g !
&g &
, 
,( (,{ ,, ,, ,"; "{ $, , W  g "' '<'= '@5= 5	3M 	3, ,
,- ,
= 
2- 2
= M + % %; $
> 
>3[ 3(] 
87 80' 08g 847 4"! !.W .
!g !r   