�
"T�e � � � d dl mZ d dlmZmZmZmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ ddlmZmZ erdd lmZ d
ddd
d
d
�dddee dededee dee ddfd�Zedk( r(d dlmZ e� dededd
fd�Z edd� e� y
y
)� )�Mapping)�
TYPE_CHECKING�Any�Optional�Tuple� )�ReprHighlighter)�Panel)�Pretty)�Table)�Text�TextType)�ConsoleRenderableNTF)�title� sort_keys�
indent_guides�
max_length�
max_string�scopezMapping[str, Any]r r r r r �returnr c �� � t � }t j dd�� }|j d�� dt t
t f dt t t
f fd�}|rt | j � |� � n| j � } | D ]P \ }
}t j |
|
j d
� rdndfd
� }|j |t |||||�� � �R t j ||dd�� 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 indentation 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 �P � | \ }}|j d� |j � fS )z2Sort special variables first, then alphabetically.�__)�
startswith�lower)r �key�_s �,/usr/lib/python3/dist-packages/rich/scope.py�
sort_itemsz render_scope.<locals>.sort_items) s( � ����Q��N�N�4�(�(�#�)�)�+�6�6� )r! r zscope.key.specialz scope.key)z =zscope.equals)�highlighterr r r zscope.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& |