관리-도구
편집 파일: _wrap.cpython-38.pyc
U &?�fL � @ s� d dl mZ d dlZd dlmZ ddlmZ ddlmZm Z e� d�Zdd d �dd�Zdddddd�dd�Z edkr�ddlmZ edd�Ze�d� ee dd�� edd�Ze�� e�d� e�� e�d� dS )� )�annotationsN)�Iterable� )� loop_last)�cell_len� chop_cellsz \s*\S+\s*�strzIterable[tuple[int, int, str]])�text�returnc c sL d}t �| |�}|dk rH|�� \}}|�d�}|||fV t �| |�}qdS )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. r N)�re_word�match�span�group)r �position� word_match�start�end�word� r �D/opt/hc_python/lib/python3.8/site-packages/pip/_vendor/rich/_wrap.py�words s r T�int�boolz list[int])r �width�foldr c C s� g }|j }d}t}t| �D ]�\}}} || �� �} || }|| k}|rR||| �7 }q| |kr�|r�t| |d�} t| �D ].\}}|r�||� |r�||�}qr|t|�7 }qrq�|r�||� || �}q|r|r||� || �}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 )�appendr r �rstripr r �len)r r r Zbreak_positionsr Zcell_offset� _cell_lenr �_endr �word_length�remaining_spaceZword_fits_remaining_spaceZfolded_word�last�liner r r �divide_line s4 r% �__main__)�Console� r z@12345 abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWXYZ 12345�abcdefghijklmnopqrstuvwxyz� uR TextualはPythonの高速アプリケーション開発フレームワークですu4 アプリケーションは1670万色を使用でき)T)� __future__r �re�typingr �_loopr �cellsr r �compiler r r% �__name__�consoler'