o
    Ëý°j  ã                   @   sü   d dl mZ d dlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZ er:dd	lmZ d
ddd
d
dœdddee dededee dee ddfdd„Zedkr|d dlmZ eƒ  dededd
fdd„Zedd ƒ eƒ  d
S d
S )!é    )ÚMapping)ÚTYPE_CHECKINGÚAnyÚOptionalÚTupleé   )ÚReprHighlighter)ÚPanel)ÚPretty)ÚTable)ÚTextÚTextType)ÚConsoleRenderableNTF)ÚtitleÚ	sort_keysÚindent_guidesÚ
max_lengthÚ
max_stringÚscopezMapping[str, Any]r   r   r   r   r   Úreturnr   c                C   s¶   t ƒ }tjddd�}|jdd� dtttf dtttf fdd	„}|r+t|  	¡ |d
�n|  	¡ }	|	D ] \}
}t
 |
|
 d¡r?dndfd¡}| |t|||||d�¡ q1tj||ddd�S )a¬  Render python variables in a given scope.

    Args:
        scope (Mapping): A mapping containing variable names and values.
        title (str, optional): Optional title. Defaults to None.
        sort_keys (bool, optional): Enable sorting of items. Defaults to True.
        indent_guides (bool, optional): Enable indentaton guides. Defaults to False.
        max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to None.
        max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to None.

    Returns:
        ConsoleRenderable: A renderable object.
    )r   r   F)ÚpaddingÚexpandÚright)ÚjustifyÚitemr   c                 S   s   | \}}|  d¡ | ¡ fS )z2Sort special variables first, then alphabetically.Ú__)Ú
startswithÚlower)r   ÚkeyÚ_© r    ú‰/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_vendor/rich/scope.pyÚ
sort_items)   s   z render_scope.<locals>.sort_items)r   r   zscope.key.specialz	scope.key)z =zscope.equals)Úhighlighterr   r   r   zscope.border)r   Úborder_styler   )r   r   ÚgridÚ
add_columnr   Ústrr   ÚboolÚsortedÚitemsr   Úassembler   Úadd_rowr
   r	   Úfit)r   r   r   r   r   r   r#   Úitems_tabler"   r*   r   ÚvalueÚkey_textr    r    r!   Úrender_scope   s4   "þûþ
ür1   Ú__main__)ÚprintÚfooÚbarc                 C   s6   g d¢}ddg d¢dgddœ}t ttƒ dd	d
�ƒ d S )N)r   é   é   Né   TFzHello Worldz1.1ÚconfirmFruitPurchase)ÚappleÚorangeÚmangoesÚpomelog+‡ÙÎ÷ñ?Ú	194521489)ÚversionÚmethodÚparamsÚidz	[i]localsF)r   r   )r3   r1   Úlocals)r4   r5   Úlist_of_thingsÚdict_of_thingsr    r    r!   ÚtestK   s   
ürF   gºk	ù W4@gÉå?$	@)Úcollections.abcr   Útypingr   r   r   r   r#   r   Úpanelr	   Úprettyr
   Útabler   Útextr   r   Úconsoler   r(   Úintr1   Ú__name__Úpip._vendor.richr3   ÚfloatrF   r    r    r    r!   Ú<module>   sH    ùÿýüûúù
ø8


ð