3
eI                 @   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-3irwxpxt/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   