KFd/ d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ d efd
Z
ded efdZe G d
d ZdS )z4Helper functions for writing to terminals and files. N)Optional)Sequence)TextIO )wcswidth)finalreturnc F t j d \ } }| dk rd} | S )N)P )fallback( r )shutilget_terminal_size)width_s l/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/_pytest/_io/terminalwriter.pyget_terminal_widthr s. ':::HE1
rzzL filec d t j d dk rdS t j d dk rdS dt j v rdS dt j v rdS t | d o6| o"t j d d
k S )N PY_COLORS1T0FNO_COLORFORCE_COLORisattyTERMdumb)osenvirongethasattrr )r s r should_do_markupr$ s z~~k""c))t z~~k""c))uRZu
""thVDKKMMVbjnnV6L6LPV6Vr c e Zd Z edAi ddddddddd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(ZdGd*ee d+d)fd,Zed+e fd- Z
e
j d.e d+d)fd/ Z
ed+e fd0 Zd1e
d2ed+e
fd3Z dHd4e
d5ee
d6ee d2ed+d)f
d7Zd8d9d:e
d;ed2ed+d)fd<ZdId>e
d2ed+d)fd?ZdJd@ZdKdBee
dCee
d+d)fdDZdEe
d+e
fdFZd)S )LTerminalWriterblack red green yellow! blue" purple# cyan$ white% Blackr Red) Green* Yellow+ Blue, Purple- Cyan. White/ boldr light blink invert Nr r c R |t j }t |d rX| rDt j dk r4 dd l}| | j }|J n# t $ r Y nw xY w|| _ t | | _ d| _ d | _
d| _ d S )Nr win32r T)sysstdoutr# r platformcoloramaAnsiToWin32streamImportError_filer$ hasmarkup
_current_line_terminal_widthcode_highlight)selfr rS s r __init__zTerminalWriter.__init__A s <:D4"" (t{{}} (9P9P
( ++D118''''
)$//.2"s A' '
A43A4c : | j | j S t S N)rZ r r\ s r fullwidthzTerminalWriter.fullwidthR s +''!###r valuec || _ d S r_ )rZ )r\ rb s r ra zTerminalWriter.fullwidthX s $r c * t | j S )z;Return an estimate of the width so far in the current line.)r rY r` s r width_of_current_linez$TerminalWriter.width_of_current_line\ s *+++r textmarkupc |D ]}| j vrt d| j rG fd| D }|r%d d |D |z dz }|S )Nzunknown markup: c 4 g | ]\ }}|j | S ) _esctable).0nameonr\ s r