ó
    F\hB'  ã                  óH  • S SK Jr  S SKJrJr  S SKrSSKJrJrJ	r	  SSK	J
r
  \R                  r SSS jjr\R                   " S5      rSS	 jrSS
 jrSS jr            SS jr " S S\R                  5      r " S S\R.                  5      r\ " S S\
5      5       rg)é    )Úannotations)Ú	dataclassÚfieldNé   )ÚcommandsÚconsoleÚreader)ÚReaderc                óš   • 0 nUn  U  H
  nSX$U   '   M     [        U5      S:”  a  U S   X $ US-  n0 nM/  ! [         a
    U S   X s $ f = f©Nr   r   )ÚlenÚ
IndexError)ÚwordlistÚjÚdÚiÚwords        Ú0/usr/lib/python3.13/_pyrepl/completing_reader.pyÚprefixr   $   sv   € Ø
€AØ	€Að	 ØÛ �Ø��q‘'“
ñ !ä�1‹v˜‹zØ ‘{ 1Ð'Ð'Ø�‰FˆAØˆAñ øô ó  Ø˜‰{˜1ÐÒð ús   †&6 ­	6 ¶A
Á	A
z&\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[m|K]c                ó.   • [         R                  SU 5      $ )NÚ )ÚSTRIPCOLOR_REGEXÚsub©Úss    r   Ú
stripcolorr   6   s   € Ü×Ñ  AÓ&Ð&ó    c                ó*   • [        [        U 5      5      $ ©N)r   r   r   s    r   Úreal_lenr    :   s   € ÜŒz˜!‹}ÓÐr   c                ól   • [        U 5      n[        U5      U:”  a  US U $ U[        U5      -
  nU SU-  -   $ )NÚ )r   r   )r   ÚmaxlenÚstrippedÚpaddings       r   Ú
left_alignr&   >   s@   € Ü˜!‹}€HÜ
ˆ8ƒ}�vÓà˜˜Ð Ð Ø”s˜8“}Ñ$€GØˆs�7‰{‰?Ðr   c           	     óf  • U(       a  SnSnOSnSn[        [        [        [        U5      5      U R                  U-
  5      n[        U R                  Xv-   -  5      n[        [        U5      S-
  U-  S-   5      n	U(       a[  X‰-  [        U5      -
  n
US/U
-  -   n[        [        U5      5       Vs/ s H  o»U-  U	-  X¸-  -   PM     nnU Vs/ s H  o±U   PM	     nn/ nUn[        U	5       H¹  n/ n[        U5       H9  nUR                  U[        X   U5      -  5        US-  nU[        U5      :¼  d  M9    O   UR                  SR                  U5      5        U[        U5      :¼  a  Sn  XÛ4$ US-   U R                  :”  d  M—  UR                  S	[        U5      U-
  -  5          XÛ4$    XÛ4$ s  snf s  snf )
Nz[ %s ]é   z%s  é   r   r   r   é   z   %d more... )ÚminÚmaxÚmapr    ÚwidthÚintr   ÚrangeÚappendr&   ÚjoinÚheight)Úconsr   ÚstartÚuse_bracketsÚsort_in_columnÚitemr%   r#   ÚcolsÚrowsÚmissingr   ÚindexesÚmenuÚrÚrowÚcols                    r   Ú
build_menurA   G   s°  € ö ØˆØ‰àˆØˆÜ””Sœ 8Ó,Ó-¨t¯z©z¸GÑ/CÓD€FÜˆt�z‰z˜VÑ-Ñ.Ó/€DÜ”�H“ Ñ! 4Ñ'¨!Ñ+Ó,€Dæð ‘)œc (›mÑ+ˆØ˜r˜d 7™lÑ*ˆÜ:?ÄÀHÃÔ:NÓOÒ:N°Q˜‘H Ñ$ q¡yÔ0Ñ:NˆÐOÙ)0Ó1ª A˜Q”K©ˆÐ1Ø€DØ€AÜ�4Ž[ˆØˆÜ˜–;ˆCØ�J‰J�tœj¨©°fÓ=Ñ=Ô>Ø�‰FˆAØ”C˜“MÕ!Ùñ	 ð
 	�‰�B—G‘G˜C“LÔ!Ø”�H“ÓØˆAØð ˆ7€Nð ˆq‰5�4—;‘;ÕØ�K‰KÐ(¬C°«M¸AÑ,=Ñ>Ô?ØØˆ7€Nñ ð ˆ7€Nùò% PùÚ1s   Â.F)Ã
F.c                  ó   • \ rS rSrSS jrSrg)Úcompleteé¦   c                óz  • U R                   nUR                  U R                  5      nUR                  nU=(       a    UnUR	                  5       nU(       d  UR                  U5      Ul        UR                  nU(       d  UR                  S5        g [        U5      S:X  aQ  U(       a)  [        US   5      [        U5      :X  a  SUl	        SUl
        UR                  US   [        U5      S  5        g [        U[        U5      5      nU(       a  UR                  U5        U(       aY  SUl        SUl        [        UR                   XaR"                  UR$                  UR&                  5      u  Ul        Ul        SUl
        g UR                  (       d-  SUl        XW-   U;   a  SUl	        SUl
        g SUl	        SUl
        g g )	Nz
no matchesr   r   z[ sole completion ]TFz[ complete but not unique ]z[ not unique ])r	   Úlast_command_isÚ	__class__Úassume_immutable_completionsÚget_stemÚget_completionsÚcmpltn_menu_choicesÚerrorr   ÚmsgÚdirtyÚinsertr   Úcmpltn_menu_visibleÚcmpltn_message_visiblerA   r   Úcmpltn_menu_endr6   r7   Úcmpltn_menu)Úselfr>   Úlast_is_completerÚimmutable_completionsÚcompletions_unchangableÚstemÚcompletionsÚps           r   ÚdoÚcomplete.do§   sh  € à�K‰KˆØ×-Ñ-¨d¯n©nÓ=ÐØ !× >Ñ >ÐØ"3×"MÐ8MÐØ�z‰z‹|ˆÞ&Ø$%×$5Ñ$5°dÓ$;ˆAÔ!à×+Ñ+ˆÞØ�G‰G�LÕ!Ü�Ó Ó"Þ&¬3¨{¸1©~Ó+>Ä#ÀdÃ)Ó+KØ-�”Ø�”Ø�H‰H�[ ‘^¤C¨£I JÐ/Õ0ä�{¤C¨£IÓ.ˆAÞØ—‘˜”Þ Ø(,�Ô%Ø+0�Ô(Ü3=Ø—I‘I˜{×,=Ñ,=Ø—N‘N A×$4Ñ$4ó46Ñ0�”˜qÔ0ð �•Ø×*×*Ø+/�Ô(Ø‘8˜{Ó*Ø9�A”EØ"�A•Gà,�A”EØ"�A•Gð +r   © N©ÚreturnÚNone©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r[   Ú__static_attributes__r]   r   r   rC   rC   ¦   s   † ÷$#r   rC   c                  ó   • \ rS rSrSS jrSrg)Úself_insertéÎ   c                óô  • U R                   n[        R                  R                  U 5        UR                  (       a·  UR                  5       n[        U5      S:  a  UR                  5         g UR                   Vs/ s H  nUR                  U5      (       d  M  UPM     nnU(       a;  [        UR                  USUR                  UR                  5      u  Ul        Ul        g UR                  5         g g s  snf r   )r	   r   rh   r[   rP   rI   r   Úcmpltn_resetrK   Ú
startswithrA   r   r6   r7   rS   rR   )rT   r>   rX   ÚwrY   s        r   r[   Úself_insert.doÏ   s¾   € à�K‰Kˆä×Ñ×Ñ Ô%Ø× × Ø—:‘:“<ˆDÜ�4‹y˜1‹}Ø—‘Õ à*+×*?Ò*?ó 6Ò*? QØ"#§,¡,¨t×"4÷  !Ñ*?�ð 6æÜ7AØŸ	™	 ;°ØŸ™¨×(8Ñ(8ó8:Ñ4�A”M 1Õ#4ð —N‘NÕ$ð !ùò
6s   Á;C5ÂC5r]   Nr^   ra   r]   r   r   rh   rh   Î   s   † ÷%r   rh   c                  ó
  ^ • \ rS rSr% SrSrSrSr\" SS9r	S\
S'   \" SS9rS\
S	'   \" SS9rS\
S
'   \" SS9rS\
S'   \" SS9rS\
S'   SU 4S jjrSU 4S jjrSU 4S jjrSU 4S jjrSU 4S jjrSS jrSS jrSS jrSrU =r$ )ÚCompletingReaderéã   zAdds completion supportTF)Úinitú	list[str]rS   ÚboolrP   rQ   r/   rR   rK   c                óè   >• [         TU ]  5         U R                  5         [        [        4 HC  nXR
                  UR                  '   XR
                  UR                  R                  SS5      '   ME     g )NÚ_Ú-)ÚsuperÚ__post_init__rk   rC   rh   r   rb   Úreplace)rT   ÚcrG   s     €r   ry   ÚCompletingReader.__post_init__ô   sV   ø€ Ü‰ÑÔØ×ÑÔÜœKÓ(ˆAØ()�M‰M˜!Ÿ*™*Ñ%Ø:;�M‰M˜!Ÿ*™*×,Ñ,¨S°#Ó6Ó7ò )r   c                ó&   >• [         TU ]  5       S-   $ )N))z\trC   )rx   Úcollect_keymap©rT   rG   s    €r   r~   ÚCompletingReader.collect_keymapû   s   ø€ Ü‰wÑ%Ó'ð +"ñ "ð 	"r   c                ó|   >• [         TU ]  U5        [        U[        [        45      (       d  U R                  5         g g r   )rx   Úafter_commandÚ
isinstancerC   rh   rk   )rT   ÚcmdrG   s     €r   r‚   ÚCompletingReader.after_commandÿ   s3   ø€ Ü‰Ñ˜cÔ"Ü˜#¤¬+Ð6×7Ñ7Ø×ÑÕð 8r   c                ó  >• [         TU ]  5       nU R                  (       aj  U R                  S   S-   nU R                  XU& U R
                  [        U R                  5      :w  a'  S/ 4/[        U R                  5      -  U R                  X"& U$ r   )	rx   Úcalc_screenrP   ÚlxyrS   Úposr   ÚbufferÚ
screeninfo)rT   ÚscreenÚlyrG   s      €r   r‡   ÚCompletingReader.calc_screen  sy   ø€ Ü‘Ñ$Ó&ˆØ×#×#à—‘˜!‘˜q‘ˆBØ ×,Ñ,ˆF�bˆMð
 �x‰xœ3˜tŸ{™{Ó+Ó+Ø+,¨b¨'¨´3°t×7GÑ7GÓ3HÑ)H�—‘ Ð&Øˆr   c                óB   >• [         TU ]  5         U R                  5         g r   )rx   Úfinishrk   r   s    €r   r�   ÚCompletingReader.finish  s   ø€ Ü‰‰ÔØ×ÑÕr   c                óJ   • / U l         SU l        SU l        SU l        / U l        g )NFr   )rS   rP   rQ   rR   rK   )rT   s    r   rk   ÚCompletingReader.cmpltn_reset  s*   € ØˆÔØ#(ˆÔ Ø&+ˆÔ#Ø ˆÔØ#%ˆÕ r   c                ó6  • U R                   n[        R                  nU R                  nU R                  S-
  nUS:¼  a=  UR                  X4   U5      U:X  a%  US-  nUS:¼  a  UR                  X4   U5      U:X  a  M%  SR                  X4S-   U R                   5      $ )Nr   r   r   )Úsyntax_tabler	   ÚSYNTAX_WORDrŠ   r‰   Úgetr2   )rT   ÚstÚSWÚbrZ   s        r   rI   ÚCompletingReader.get_stem  sŠ   € Ø×ÑˆÜ×ÑˆØ�K‰KˆØ�H‰H�q‰LˆØ�1‹f˜Ÿ™ ¡ bÓ)¨RÓ/Ø�‰FˆAð �1‹f˜Ÿ™ ¡ bÓ)¨RÕ/à�w‰w�q˜1™˜TŸX™X�Ó'Ð'r   c                ó   • / $ r   r]   )rT   rX   s     r   rJ   Ú CompletingReader.get_completions&  s   € Øˆ	r   )rS   rK   rR   rP   rQ   r^   )r_   z'tuple[tuple[KeySpec, CommandName], ...])r„   ÚCommandr_   r`   )r_   rs   )r_   Ústr)rX   rŸ   r_   rs   )rb   rc   rd   re   Ú__doc__rH   r6   r7   r   rS   Ú__annotations__rP   rQ   rR   rK   ry   r~   r‚   r‡   r�   rk   rI   rJ   rf   Ú__classcell__)rG   s   @r   rp   rp   ã   s•   ø‡ á!ð $(Ð Ø€LØ€Nñ #¨Ñ.€K�Ó.Ù %¨5Ñ 1Ð˜Ó1Ù#(¨eÑ#4Ð˜DÓ4Ù  eÑ,€O�SÓ,Ù%*°Ñ%6Ð˜Ó6÷<÷"÷ ÷
÷ô&ô(÷ò r   rp   )r   )r   rs   r   r/   r_   rŸ   )r   rŸ   r_   rŸ   )r   rŸ   r_   r/   )r   rŸ   r#   r/   r_   rŸ   )r4   zconsole.Consoler   rs   r5   r/   r6   rt   r7   rt   r_   ztuple[list[str], int])Ú
__future__r   Údataclassesr   r   Úrer   r   r   r	   r
   rž   ÚtypesÚKeySpecÚCommandNamer   Úcompiler   r   r    r&   rA   rC   rh   rp   r]   r   r   Ú<module>rª      sÐ   ðõ* #ç (ã 	ß 'Ñ 'Ý ð ×
Ñ
€Øöð  —:’:ÐGÓHÐ ô'ôôð-Øð-àð-ð ð-ð ð	-ð
 ð-ð ô-ô~%#ˆx×Ñô %#ôP%�(×&Ñ&ô %ð* ôC�vó Có ñCr   