
    kj}                         d dl Z d dlmZ d dlmZ defdZ G d de j                  Z G d d	e j                  ZeZ		 dd
dZ
ddddZdS )    N_param_memo)click_version_ge_8_2returnc                 b    t           r|                     |          S |                                 S N)r   make_metavar)argctxs     H/home/agentuser/manim-venv/lib/python3.11/site-packages/cloup/_params.pymake_arg_metavarr      s0     %$$$    c                   .     e Zd ZdZdd fd
Zd Z xZS )Argumentz)A :class:`click.Argument` with help text.N)helpc                H     t                      j        |i | || _        d S r   )super__init__r   )selfr   argsattrs	__class__s       r   r   zArgument.__init__   s*    $(%(((			r   c                 4    t          | |          | j        pdfS )N )r   r   )r   r   s     r   get_help_recordzArgument.get_help_record   s    c**DIO;;r   )__name__
__module____qualname____doc__r   r   __classcell__r   s   @r   r   r      sZ        33#'       < < < < < < <r   r   c                   (     e Zd ZdZdd fd
Z xZS )OptionzNA :class:`click.Option` with an extra field ``group`` of type ``OptionGroup``.N)groupc                H     t                      j        |i | || _        d S r   )r   r   r$   )r   r$   r   r   r   s       r   r   zOption.__init__   s*    $(%(((


r   )r   r   r   r   r   r    r!   s   @r   r#   r#      sK        XX$(           r   r#   )clsc                 ,    | pt           fd}|S )Nc                 6    t          |  fi            | S r   r   )fArgumentClassr   param_declss    r   	decoratorzargument.<locals>.decorator'   s*    A}}[::E::;;;r   )r   )r&   r+   r   r,   r*   s    `` @r   argumentr-   $   s9    O8M       r   )r&   r$   c                 0    | pt           fd}|S )a  Attach an ``Option`` to the command.
    Refer to :class:`click.Option` and :class:`click.Parameter` for more info
    about the accepted parameters.

    In your IDE, you won't see arguments relating to shell completion,
    because they are different in Click 7 and 8 (both supported by Cloup):

    - in Click 7, it's ``autocompletion``
    - in Click 8, it's ``shell_complete``.

    These arguments have different semantics, refer to Click's docs.
    c                 ~    t          |  fi            | j        d         }|_        rj        rd|_        | S )NT)r   __click_params__r$   hidden)r)   
new_optionOptionClassr   r$   r+   s     r   r,   zoption.<locals>.decorator=   sX    A{{;88%88999'+
 
 	%U\ 	% $Jr   )r#   )r&   r$   r+   r   r,   r4   s    ``` @r   optionr5   .   sA     -K        r   )clickclick.decoratorsr   cloup._utilr   strr   r   r#   GroupedOptionr-   r5    r   r   <module>r<      s     ( ( ( ( ( ( , , , , , ,#    < < < < <u~ < < <    U\       $      "       r   