3
¦Yði©  ã               @   sÂ   d dl Zd dlmZ ejr.d dlZddlmZ eƒ Z	ej
ddddœd	d
„ƒZej
deejd dœdd
„ƒZdeejd dœdd
„Zdddœdd„Zddœdd„Zdeje eje dœdd„ZdS )é    N)Úlocalé   )ÚContextFzte.Literal[False]r   )ÚsilentÚreturnc             C   s   d S )N© )r   r   r   ú./tmp/pip-build-8om4l6ph/click/click/globals.pyÚget_current_context   s    r	   .c             C   s   d S )Nr   )r   r   r   r   r	      s    c             C   sL   yt jdtjd ƒS  ttfk
rF } z| s6tdƒ|‚W Y dd}~X nX dS )a‚  Returns the current click context.  This can be used as a way to
    access the current context object from anywhere.  This is a more implicit
    alternative to the :func:`pass_context` decorator.  This function is
    primarily useful for helpers such as :func:`echo` which might be
    interested in changing its behavior based on the current context.

    To push the current context, :meth:`Context.scope` can be used.

    .. versionadded:: 5.0

    :param silent: if set to `True` the return value is `None` if no context
                   is available.  The default behavior is to raise a
                   :exc:`RuntimeError`.
    r   r   z!There is no active click context.Néÿÿÿÿ)ÚtÚcastÚ_localÚstackÚAttributeErrorÚ
IndexErrorÚRuntimeError)r   Úer   r   r   r	      s    )Úctxr   c             C   s   t jjdg ƒj| ƒ dS )z*Pushes a new context to the current stack.r   N)r   Ú__dict__Ú
setdefaultÚappend)r   r   r   r   Úpush_context-   s    r   )r   c               C   s   t jjƒ  dS )z%Removes the top level from the stack.N)r   r   Úpopr   r   r   r   Úpop_context2   s    r   )Úcolorr   c             C   s(   | dk	r| S t dd�}|dk	r$|jS dS )zªInternal helper to get the default value of the color flag.  If a
    value is passed it's returned unchanged, otherwise it's looked up from
    the current context.
    NT)r   )r	   r   )r   r   r   r   r   Úresolve_color_default7   s    
r   )F).)F)N)Útypingr   Ú	threadingr   ZTYPE_CHECKINGZtyping_extensionsÚteÚcorer   r   Zoverloadr	   ÚboolÚOptionalr   r   r   r   r   r   r   Ú<module>   s   