U
    kufs  ã                   @  sl   d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlm	Z	 dddœd	d
„Zdddddœdd„Z
dS )z*
Utilities imported from ipython_genutils
é    )ÚannotationsN)Údedent)Úindent)ÚListÚstr)ÚvalÚreturnc                 C  s
   t | dƒS )Nz    )Ú_indent)r   © r
   ú8/tmp/pip-unpacked-wheel-utpcgctl/traitlets/utils/text.pyr      s    r   éP   Úintz	List[str])ÚtextÚncolsr   c                 C  sr   t  dt j¡}t| ƒ ¡ } | | ¡ddd… }g }t  dt j¡}|D ](}| |¡dkrbt ||¡}| 	|¡ qD|S )a  Wrap multiple paragraphs to fit a specified width.

    This is equivalent to textwrap.wrap, but with support for multiple
    paragraphs, as separated by empty lines.

    Returns
    -------

    list of complete paragraphs, wrapped to fill `ncols` columns.
    z
\n(\s*\n)+Né   z\n\s+)
ÚreÚcompileÚ	MULTILINEr   ÚstripÚsplitÚsearchÚtextwrapÚfillÚappend)r   r   Zparagraph_reZ
paragraphsZout_psZ	indent_reÚpr
   r
   r   Úwrap_paragraphs   s    r   )r   )Ú__doc__Ú
__future__r   r   r   r   r   r	   Útypingr   r   r
   r
   r
   r   Ú<module>   s   