HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/rich/__pycache__/_wrap.cpython-310.pyc
o

;jL
�@s�ddlmZddlZddlmZddlmZddlmZm	Z	e�
d�Zddd
�Zd d!dd�Z
edkrbddlmZedd�Ze�d�ee	dd��edd�Ze��e�d�e��e�d�dSdS)"�)�annotationsN)�Iterable�)�	loop_last)�cell_len�
chop_cellsz	\s*\S+\s*�text�str�return�Iterable[tuple[int, int, str]]ccsX�d}t�||�}|dur*|��\}}|�d�}|||fVt�||�}|dus
dSdS)z�Yields each word from the text as a tuple
    containing (start_index, end_index, word). A "word" in this context may
    include the actual word and any whitespace to the right.
    rN)�re_word�match�span�group)r�positionZ
word_match�start�end�word�r�>/opt/saltstack/salt/lib/python3.10/site-packages/rich/_wrap.py�wordss�
�rT�width�int�fold�bool�	list[int]cCs�g}|j}d}t}t|�D]\\}}}	||	���}
||}||
k}|r)|||	�7}q
|
|kr]|rRt|	|d�}
t|
�D]\}}|rC||�|rJ||�}q9|t|�7}q9q
|rX||�||	�}q
|ri|ri||�||	�}q
|S)a�Given a string of text, and a width (measured in cells), return a list
    of cell offsets which the string should be split at in order for it to fit
    within the given width.

    Args:
        text: The text to examine.
        width: The available cell width.
        fold: If True, words longer than `width` will be folded onto a new line.

    Returns:
        A list of indices to break the line at.
    r�r)�appendrr�rstriprr�len)rrrZbreak_positionsrZcell_offsetZ	_cell_lenrZ_endrZword_lengthZremaining_spaceZword_fits_remaining_spaceZfolded_word�last�linerrr�divide_lines8

�	
�r"�__main__)�Console�
rz@12345 abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWXYZ 12345�abcdefghijklmnopqrstuvwxyz�uRTextualはPythonの高速アプリケーション開発フレームワークですu4アプリケーションは1670万色を使用でき)rr	r
r)T)rr	rrrrr
r)�
__future__r�re�typingrZ_looprZcellsrr�compilerrr"�__name__Zconsoler$�printZrulerrrr�<module>s&

7



�