3
¦YðiI  ã               @   s2   d dl Z d dlZd dlmZ G dd„ de jƒZdS )é    N)Úcontextmanagerc               @   sX   e Zd Zeje eje eeddœdd„Zeeej	d dœdd„ƒZ
eedœd	d
„ZdS )ÚTextWrapperN)Úreversed_chunksÚcur_lineÚcur_lenÚwidthÚreturnc       	      C   s^   t || dƒ}| jrH|d }|d |… }||d … }|j|ƒ ||d< n|sZ|j|jƒ ƒ d S )Né   éÿÿÿÿr
   )ÚmaxÚbreak_long_wordsÚappendÚpop)	Úselfr   r   r   r   Ú
space_leftÚlastZcutÚres© r   ú0/tmp/pip-build-8om4l6ph/click/click/_textwrap.pyÚ_handle_long_word   s    

zTextWrapper._handle_long_word)Úindentr   c             c   sF   | j }| j}|  j |7  _ |  j|7  _z
d V  W d || _ || _X d S )N)Úinitial_indentÚsubsequent_indent)r   r   Zold_initial_indentZold_subsequent_indentr   r   r   Úextra_indent   s    
zTextWrapper.extra_indent)Útextr   c             C   sN   g }x>t |jƒ ƒD ].\}}| j}|dkr.| j}|j|› |› �ƒ qW dj|ƒS )Nr   Ú
)Ú	enumerateÚ
splitlinesr   r   r   Újoin)r   r   ÚrvÚidxÚliner   r   r   r   Úindent_only&   s    zTextWrapper.indent_only)Ú__name__Ú
__module__Ú__qualname__ÚtÚListÚstrÚintr   r   ÚIteratorr   r"   r   r   r   r   r      s   r   )ÚtextwrapÚtypingr&   Ú
contextlibr   r   r   r   r   r   Ú<module>   s   