ó
    Ñ]j(  ã                   ó  • S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r	J
r
  SSKJr  SSKr\R                  " S5      rS	\R                  \R                   \\4      4S
 jr " S S\5      r " S S\5      r " S S5      r " S S\5      rg)zE
System command aliases.

Authors:

* Fernando Perez
* Brian Granger
é    N)ÚConfigurableé   )Ú
UsageError)ÚListÚInstance)Úerrorz^(\s*)()(\S+)(.*$)Úreturnc                  ón  • [         R                  S:X  a„  / SQn [        R                  R	                  S5      (       a  / SQnOQ[        R                  R	                  S5      (       d$  [        R                  R	                  S5      (       a  / SQnO/ SQnX-   n U $ [         R                  S	;   a  / S
Qn U $ / n U $ )z1Return list of shell aliases to auto-define.
    Úposix)©Úmkdirr   ©Úrmdirr   )Úmvr   )Úrmr   )Úcpr   )Úcatr   Úlinux))Úlszls -F --color)Úllzls -F -o --color)Úlfzls -F -o --color %l | grep ^-)Úlkzls -F -o --color %l | grep ^l)Úldirzls -F -o --color %l | grep /$)Úlxz ls -F -o --color %l | grep ^-..xÚopenbsdÚnetbsd))r   zls -F)r   zls -F -l)r   zls -F -l %l | grep ^-)r   zls -F -l %l | grep ^l)r   zls -F -l %l | grep /$)r   zls -F -l %l | grep ^-..x))r   zls -F -G)r   zls -F -l -G)r   zls -F -l -G %l | grep ^-)r   zls -F -l -G %l | grep ^l)r   zls -F -G -l %l | grep /$)r   zls -F -l -G %l | grep ^-..x)ÚntÚdos))r   zdir /on)Úddirúdir /ad /on)r   r    r   r   )Úechor!   )Úrenr"   )Úcopyr#   )ÚosÚnameÚsysÚplatformÚ
startswith)Údefault_aliasesÚ
ls_aliasess     ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/IPython/core/alias.pyr)   r)   +   sª   € ô 
‡w�w�'Óòˆô �<‰<×"Ñ" 7×+Ñ+ò‰Jô �\‰\×$Ñ$ Y×/Ñ/´3·<±<×3JÑ3JÈ8×3TÑ3Tò‰JòˆJð *Ñ6ˆð Ðô 
�‰�MÓ	!òˆð Ðð ˆàÐó    c                   ó   • \ rS rSrSrg)Ú
AliasErrorét   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r0   r,   r+   r.   r.   t   ó   † Úr,   r.   c                   ó   • \ rS rSrSrg)ÚInvalidAliasErroréx   r0   Nr1   r0   r,   r+   r9   r9   x   r7   r,   r9   c                   ó<   • \ rS rSrSr1 SkrS rS rS rS
S jr	Sr
g	)ÚAliasé|   zxCallable object storing the details of one alias.

Instances are registered as magic functions to allow use of aliases.
>   ÚcdÚpopdÚaliasÚdhistÚpushdÚunaliasc                 ó~   • Xl         X l        X0l        SR                  U5      U l        U R                  5       U l        g )NzAlias for `!{}`)Úshellr%   ÚcmdÚformatÚ__doc__ÚvalidateÚnargs)ÚselfrE   r%   rF   s       r+   Ú__init__ÚAlias.__init__…   s0   € ØŒ
ØŒ	ØŒØ(×/Ñ/°Ó4ˆŒØ—]‘]“_ˆ�
r,   c                 ó„  • U R                   U R                  ;   a  [        SU R                   -  5      e U R                  R                  R
                  S   U R                      n[        U[        5      (       d  [        SU R                   -  5      e [        U R                  [        5      (       d  [        SU R                  -  5      eU R                  R                  S5      U R                  R                  S5      -
  nUS:”  a*  U R                  R                  S5      S:¼  a  [        S	5      eU$ ! [         a     N¬f = f)
z7Validate the alias, and return the number of arguments.z@The name %s can't be aliased because it is a keyword or builtin.ÚlinezAThe name %s can't be aliased because it is another magic command.z*An alias command must be a string, got: %rú%sú%%sr   ú%lzEThe %s and %l specifiers are mutually exclusive in alias definitions.)r%   Ú	blacklistr9   rE   Úmagics_managerÚmagicsÚ
isinstancer<   ÚKeyErrorrF   ÚstrÚcountÚfind)rK   ÚcallerrJ   s      r+   rI   ÚAlias.validateŒ   s7  € à�9‰9˜Ÿ™Ó&Ü#ð %JØLPÏIÉIñ%Vó Wð Wð	\Ø—Z‘Z×.Ñ.×5Ñ5°fÑ=¸d¿i¹iÑHˆFô ˜f¤e×,Ñ,Ü'ð )OØQU×QZÑQZñ)[ó \ð \ð -ô ˜4Ÿ8™8¤S×)Ñ)Ü#ð %.Ø04·±ñ%9ó :ð :ð —‘—‘˜tÓ$ t§x¡x§~¡~°eÓ'<Ñ<ˆà�A‹I˜DŸH™HŸM™M¨$Ó/°1Ó4Ü#ð %Fó Gð Gð ˆøô# ó 	Ùð	ús   ´0D2 Ä2
D?Ä>D?c                 óN   • SR                  U R                  U R                  5      $ )Nz<alias {} for {!r}>)rG   r%   rF   )rK   s    r+   Ú__repr__ÚAlias.__repr__¦   s   € Ø$×+Ñ+¨D¯I©I°t·x±xÓ@Ð@r,   c           
      ó  • U R                   nU R                  nUR                  S5      S:¼  a  UR                  SU5      nSnUS:X  a1  UR                  S5      S:¼  a  UR                  SS5      nU< SU< 3nOuUR	                  S U5      n[        U5      U:  a+  [        SU R                  < S	U< S
[        U5      < S35      eU[        US U 5      -  < SSR                  XCS  5      < 3nU R                  R                  U5        g )NrR   r   Ú rQ   r   rP   Ú zAlias <z> requires z arguments, z given.)rF   rJ   rZ   ÚreplaceÚsplitÚlenr   r%   ÚtupleÚjoinrE   Úsystem)rK   ÚrestrF   rJ   Úargss        r+   Ú__call__ÚAlias.__call__©   sâ   € Ø�h‰hˆØ—
‘
ˆà�8‰8�D‹>˜QÓØ—+‘+˜d DÓ)ˆCØˆDà�!‹8Ø�x‰x˜‹ !Ó#Ø—k‘k %¨Ó.�ã ¢$Ð'‰Cð —:‘:˜d EÓ*ˆDÜ�4‹y˜5Ó Ý Ø—y”y£%¬¨T®ð"4ó 5ð 5à ¤5¨¨f¨u¨Ó#6Ô6°s·x±xÀÀVÀÕ7MÐNˆCà�
‰
×Ñ˜#Õr,   )rH   rF   r%   rJ   rE   N)ra   )r2   r3   r4   r5   rH   rS   rL   rI   r^   rk   r6   r0   r,   r+   r<   r<   |   s$   † ñò @€Iò%òò4A÷r,   r<   c                   óò   ^ • \ rS rSr% \" \" 5       5      R                  SS9r\\S'   \" / S9R                  SS9r\\S'   \	" SSS9r
SU 4S	 jjrS
 r\S\4S j5       rS rS rS rS rS rS rS rSrU =r$ )ÚAliasManageréÄ   T)Úconfigr)   )Údefault_valueÚuser_aliasesz1IPython.core.interactiveshell.InteractiveShellABC)Ú
allow_nonec                 ó¾   >• [         [        U ]
  " SSU0UD6  U R                  b9  U R                  R                  R
                  S   U l        U R                  5         g g )NrE   rO   r0   )Úsuperrn   rL   rE   rT   rU   Ú
linemagicsÚinit_aliases)rK   rE   ÚkwargsÚ	__class__s      €r+   rL   ÚAliasManager.__init__Ë   sQ   ø€ ÜŒl˜DÒ*ÑA°ÐA¸&ÒAà�:‰:Ñ!Ø"Ÿj™j×7Ñ7×>Ñ>¸vÑFˆDŒOØ×ÑÕð "r,   c                 ó  • U R                   U R                  -    He  u  pUR                  S5      (       a9  U R                  b,  U R                  R                  S:X  a  UR                  SS5      nU R                  X5        Mg     g )Nzls Únocolorz --colorra   )r)   rr   r(   rE   Úcolorsrc   Úsoft_define_alias)rK   r%   rF   s      r+   rw   ÚAliasManager.init_aliasesÒ   si   € à×-Ñ-°×0AÑ0AÔA‰IˆDà—‘˜u×%Ñ%Ø—J‘JÑ*Ø—J‘J×%Ñ%¨Ó2à—k‘k *¨bÓ1�Ø×"Ñ" 4Ö-ò Br,   r	   c                 ó°   • U R                   R                  5        VVs/ s H)  u  p[        U[        5      (       d  M  XR                  4PM+     snn$ s  snnf ©N)rv   ÚitemsrV   r<   rF   )rK   ÚnÚfuncs      r+   ÚaliasesÚAliasManager.aliasesÝ   sH   € à/3¯©×/DÑ/DÔ/Fô 8Ò/F¡) 1Ü)¨$´×6ó �—H‘H“Ñ/Fò 8ð 	8ùó 8s
   žA½Ac                 ór   •  U R                  X5        g! [         a  n[        SU-  5         SnAgSnAff = f)z2Define an alias, but don't raise on an AliasError.zInvalid alias: %sN)Údefine_aliasr.   r   )rK   r%   rF   Úes       r+   r~   ÚAliasManager.soft_define_aliasâ   s6   € ð	+Ø×Ñ˜dÕ(øÜó 	+ÜÐ%¨Ñ)×*Ñ*ûð	+ús   ‚ ”
6ž1±6c                 óv   • [        U R                  XS9nU R                  R                  R                  USUS9  g)zpDefine a new alias after validating it.

This will raise an :exc:`AliasError` if there are validation
problems.
)rE   r%   rF   rO   )Ú
magic_kindÚ
magic_nameN)r<   rE   rT   Úregister_function)rK   r%   rF   r[   s       r+   rˆ   ÚAliasManager.define_aliasé   s9   € ô ˜TŸZ™Z¨dÑ<ˆØ�
‰
×!Ñ!×3Ñ3°FÀvØ?Cð 	4ò 	Er,   c                 ól   • U R                   R                  US5      n[        U[        5      (       a  U$ S$ )z9Return an alias, or None if no alias by that name exists.N)rv   ÚgetrV   r<   )rK   r%   Úanames      r+   Ú	get_aliasÚAliasManager.get_aliasó   s/   € à—‘×#Ñ# D¨$Ó/ˆÜ" 5¬%×0Ñ0ˆuÐ:°dÐ:r,   c                 ó(   • U R                  U5      SL$ )z?Return whether or not a given name has been defined as an aliasN)r“   ©rK   r%   s     r+   Úis_aliasÚAliasManager.is_aliasø   s   € à�~‰~˜dÓ#¨4Ð/Ð/r,   c                 óf   • U R                  U5      (       a  U R                  U	 g [        SU-  5      e)Nú%s is not an alias)r—   rv   Ú
ValueErrorr–   s     r+   Úundefine_aliasÚAliasManager.undefine_aliasü   s.   € Ø�=‰=˜×ÑØ—‘ Ñ%äÐ1°DÑ8Ó9Ð9r,   c                 óP   • U R                    H  u  pU R                  U5        M     g r�   )r…   rœ   )rK   r%   Ú_s      r+   Úclear_aliasesÚAliasManager.clear_aliases  s    € Ø—|”|‰GˆDØ×Ñ Ö%ò $r,   c                 óf   • U R                  U5      nU(       a  UR                  $ [        SU-  5      e)z/Retrieve the command to which an alias expands.rš   )r“   rF   r›   )rK   r%   r[   s      r+   Úretrieve_aliasÚAliasManager.retrieve_alias  s.   € à—‘ Ó%ˆÞØ—:‘:ÐäÐ1°DÑ8Ó9Ð9r,   )rv   r�   )r2   r3   r4   r5   r   r)   ÚtagÚ__annotations__rr   r   rE   rL   rw   ÚpropertyÚlistr…   r~   rˆ   r“   r—   rœ   r    r£   r6   Ú__classcell__)ry   s   @r+   rn   rn   Ä   s�   ø‡ Ù ¡Ó!2Ó3×7Ñ7¸tÐ7ÐD€O�TÓDÙ¨BÑ/×3Ñ3¸4Ð3Ð@€L�$Ó@ÙØ;Èñ€E÷ ò	.ð ð8˜ó 8ó ð8ò+òEò;ò
0ò:ò&÷:ð :r,   rn   )rH   r$   Úrer&   Útraitlets.config.configurabler   r   r   Ú	traitletsr   r   ÚloggingÚtypingÚtÚcompileÚshell_line_splitÚTuplerX   r)   Ú	Exceptionr.   r9   r<   rn   r0   r,   r+   Ú<module>r´      sŽ   ðñó* 
Û 	Û 
å 6Ý ç $Ý ã ð —:’:Ð3Ó4Ð ðF˜Ÿ™ §¡¨¨S¨Ñ 1Ñ2ô FôR	�ô 	ô	˜
ô 	÷Bñ BôPH:�<õ H:r,   