U
    muf‘  ã                   @   sF   d dl Z dgZe  d¡Zdd„ Zddd„Zd	d„ Zd
d„ Zdd„ ZdS )é    NÚ
task_listsz^(\[[ xX]\])\s+c                 C   s
   t |jƒS )N)Ú_rewrite_all_list_itemsÚtokens)ÚmdÚstate© r   ú>/tmp/pip-unpacked-wheel-8p1ovdot/mistune/plugins/task_lists.pyÚtask_lists_hook	   s    r	   Fc                 C   sL   d}|r|d7 }n|d7 }|  d¡r8| dd| d¡}n|| }d| d S )Nz?<input class="task-list-item-checkbox" type="checkbox" disabledz
 checked/>z/>z<p>é   z<li class="task-list-item">z</li>
)Ú
startswithÚreplace)ÚrendererÚtextÚcheckedZcheckboxr   r   r   Úrender_task_list_item   s    ÿ

r   c                 C   s0   | j  t¡ | jr,| jjdkr,| j dt¡ dS )zñA mistune plugin to support task lists. Spec defined by
    GitHub flavored Markdown and commonly used by many parsers:

    .. code-block:: text

        - [ ] unchecked task
        - [x] checked task

    :param md: Markdown instance
    ÚhtmlÚtask_list_itemN)Zbefore_render_hooksÚappendr	   r   ÚNAMEÚregisterr   )r   r   r   r   r      s    c                 C   s6   | D ],}|d dkrt |ƒ d|krt|d ƒ q| S )NÚtypeZ	list_itemÚchildren)Ú_rewrite_list_itemr   )r   Útokr   r   r   r   /   s    r   c                 C   sh   | d }|rd|d }|  dd¡}t |¡}|rd| d¡}|| ¡ d … |d< d| d< d|d	ki| d
< d S )Nr   r   r   Ú r
   r   r   r   z[ ]Úattrs)ÚgetÚTASK_LIST_ITEMÚmatchÚgroupÚend)r   r   Zfirst_childr   ÚmÚmarkr   r   r   r   8   s    

r   )F)	ÚreÚ__all__Úcompiler   r	   r   r   r   r   r   r   r   r   Ú<module>   s   

	