Ë
    šQj  ã                   óŒ   — d Z ddlZddlZddlZ G d„ d«      Z G d„ deej
                  «      Z G d„ deej                  «      Zy)	zT
Extension for ``click`` to provide a group
with a git-like *did-you-mean* feature.
é    Nc            
       ó   ‡ — e Zd ZdZdej
                  dej
                  ddfˆ fd„Zdej                  dej                  e
   dej                  ej                  e
   ej                  ej                     ej                  e
   f   fˆ fd„Zˆ xZS )	ÚDYMMixinz¡
    Mixin class for click MultiCommand inherited classes
    to provide git-like *did-you-mean* functionality when
    a certain command is not registered.
    ÚargsÚkwargsÚreturnNc                 ó€   •— |j                  dd«      | _        |j                  dd«      | _        t        ‰| �  |i |¤Ž y )NÚmax_suggestionsé   Úcutoffg      à?)Úpopr	   r   ÚsuperÚ__init__)Úselfr   r   Ú	__class__s      €úU/var/www/html/truck-me/venv/lib/python3.12/site-packages/click_didyoumean/__init__.pyr   zDYMMixin.__init__   s;   ø€ Ø%Ÿz™zÐ*;¸QÓ?ˆÔØ—j‘j ¨3Ó/ˆŒÜ‰Ñ˜$Ð) &Ó)ó    Úctxc                 óÜ  •— 	 t         t        | �  ||«      S # t        j                  j
                  $ r·}t        |«      }t        j                  j                  |d   «      }t        j                  || j                  |«      | j                  | j                  «      }|rdj                  |«      }|dz  }|d|› �z  }t        j                  j                  ||j                  «      ‚d}~ww xY w)z™
        Overrides clicks ``resolve_command`` method
        and appends *Did you mean ...* suggestions
        to the raised exception message.
        r   z
    z

zDid you mean one of these?
    N)r   r   Úresolve_commandÚclickÚ
exceptionsÚ
UsageErrorÚstrÚutilsÚmake_strÚdifflibÚget_close_matchesÚlist_commandsr	   r   Újoinr   )	r   r   r   ÚerrorÚ	error_msgÚoriginal_cmd_nameÚmatchesÚfmt_matchesr   s	           €r   r   zDYMMixin.resolve_command   sÚ   ø€ ð	DÜœ 4Ñ8¸¸dÓCÐCøÜ×Ñ×*Ñ*ò 	DÜ˜E›
ˆIÜ %§¡× 4Ñ 4°T¸!±WÓ =ÐÜ×/Ñ/Ø!Ø×"Ñ" 3Ó'Ø×$Ñ$Ø—‘ó	ˆGñ Ø&Ÿm™m¨GÓ4�Ø˜VÑ#�	ØÐ?À¸}ÐMÑM�	ä×"Ñ"×-Ñ-¨i¸¿¹ÓCÐCûð	Dús   ƒ —C+´B2C&Ã&C+)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚtypingÚAnyr   r   ÚContextÚListr   ÚTupleÚOptionalÚCommandr   Ú__classcell__)r   s   @r   r   r      s�   ø„ ñð*˜fŸj™jð *°F·J±Jð *À4õ *ð
DØ—=‘=ðDØ(.¯©°CÑ(8ðDà	�‰Ø�‰˜Ñ˜fŸo™o¨e¯m©mÑ<¸f¿k¹kÈ#Ñ>NÐNñ
÷Dñ Dr   r   c                   ó   — e Zd ZdZy)ÚDYMGroupz€
    click Group to provide git-like
    *did-you-mean* functionality when a certain
    command is not found in the group.
    N©r%   r&   r'   r(   © r   r   r2   r2   5   ó   „ òr   r2   c                   ó   — e Zd ZdZy)ÚDYMCommandCollectionzŒ
    click CommandCollection to provide git-like
    *did-you-mean* functionality when a certain
    command is not found in the group.
    Nr3   r4   r   r   r7   r7   =   r5   r   r7   )	r(   r   r)   r   r   ÚGroupr2   ÚCommandCollectionr7   r4   r   r   ú<module>r:      sH   ðñó
 Û ã ÷&Dñ &DôRˆx˜Ÿ™ô ô˜8 U×%<Ñ%<õ r   