
    Xf                         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dS )	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                     |                     dd          | _        |                     dd          | _         t                      j        |i | d S )Nmax_suggestions   cutoffg      ?)popr	   r   super__init__)selfr   r   	__class__s      K/var/www/html/env/lib/python3.11/site-packages/click_didyoumean/__init__.pyr   zDYMMixin.__init__   sQ    %zz*;Q??jj3//$)&)))))    ctxc                    	 t          t          |                               ||          S # t          j        j        $ r}t          |          }t          j                            |d                   }t          j
        ||                     |          | j        | j                  }|r"d                    |          }|dz  }|d| z  }t          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8dCCC* 	D 	D 	DE

I % 4 4T!W = =/!""3''$	 G  N&mmG44V#	MMMM	"--iCCC	Ds   (, C6 B1C11C6)__name__
__module____qualname____doc__typingAnyr   r   ContextListr   TupleOptionalCommandr   __classcell__)r   s   @r   r   r      s         *fj *FJ *4 * * * * * *
D=D(.C(8D	foem<fk#>NN
D D D D D D D D D Dr   r   c                       e Zd ZdZdS )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dS )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:      s    
   &D &D &D &D &D &D &D &DR    x       8U%<     r   