/usr/share/cagefs-skeleton/usr/local/lib/python3.9/site-packages/pip/_vendor/rich/__pycache__
a ���h� � @ s� d dl mZmZmZ ddlmZ ddlmZmZm Z m Z ddlmZ ddl mZmZ ddlmZ ddlmZ ed ZG d d� d�ZdS ) � )�Optional�Tuple�Literal� )� loop_last)�Console�ConsoleOptions�RenderableType�RenderResult)�Control)�ControlType�Segment)� StyleType)�Text)�crop�ellipsisZvisiblec @ sd e Zd ZdZdeeedd�dd�Zedd�d d �Ze d�dd �Z e d�dd�Zee ed�dd�ZdS )� LiveRenderz�Creates a renderable that may be updated. Args: renderable (RenderableType): Any renderable object. style (StyleType, optional): An optional style to apply to the renderable. Defaults to "". � r N)� renderable�style�vertical_overflow�returnc C s || _ || _|| _d | _d S )N)r r r �_shape)�selfr r r � r �F/usr/local/lib/python3.9/site-packages/pip/_vendor/rich/live_render.py�__init__ s zLiveRender.__init__)r r c C s || _ dS )z|Set a new renderable. Args: renderable (RenderableType): Any renderable object, including str. N)r )r r r r r �set_renderable! s zLiveRender.set_renderable)r c C sL | j durF| j \}}ttjtjdfgtjdftjdff|d �R � S t� S )z�Get control codes to move cursor to beginning of live render. Returns: Control: A control instance that may be printed. N� r )r r r �CARRIAGE_RETURN� ERASE_IN_LINE� CURSOR_UP�r �_�heightr r r �position_cursor) s ����zLiveRender.position_cursorc C s@ | j dur:| j \}}ttjgtjdftjdff| �R � S t� S )z�Get control codes to clear the render and restore the cursor to its previous position. Returns: Control: A Control instance that may be printed. Nr r )r r r r r! r r"