B
    &d                 @   sR   d dl Z ddlmZ e dZdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )    N   )escape_htmlz=\*\[([^\]]+)\]:((?:[ \t]*\n(?: {3,}|\t)[^\n]+)|(?:[^\n]*))\n*c             C   s8   | di }|d}|d}| ||< ||d< d S )N	def_abbrs   r   )getgroupstrip)blockmstater   label
definition r   a/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/mistune/plugins/abbr.pyparse_def_abbr   s
    

r   c             C   s    |d }| d}d||| fS )Nr   r   abbr)r   )inliner
   r   r   r   r   r   r   parse_inline_abbr   s    
r   c             C   sP   | d}|rLt| }ddd |D }| jd|t | jjd |S )Nr   |c             s   s   | ]}t |V  qd S )N)reescape).0kr   r   r   	<genexpr>!   s    z'after_parse_def_abbr.<locals>.<genexpr>r   )	r   listkeysjoinr   register_ruler   rulesappend)mdtokensr   r   labelsZabbr_patternr   r   r   after_parse_def_abbr   s    
r#   c             C   s(   d}|rt |}d|}dj| |dS )N z title="{}"z#<abbr{title_attribute}>{key}</abbr>)keytitle_attribute)r   format)r%   r   r&   r   r   r   render_html_abbr'   s    
r(   c             C   s   d| |dS )Nr   )typetextr   r   )r%   r   r   r   r   render_ast_abbr3   s    r+   c             C   sd   | j dtt | jt | j jd | jj	dkrF| j
dt n| jj	dkr`| j
dt d S )NZdef_abbrhtmlr   ast)r	   r   DEF_ABBRr   Zbefore_render_hooksr   r#   r   rendererNAMEregisterr(   r+   )r    r   r   r   plugin_abbr7   s    r2   )r   utilr   compiler.   r   r   r#   r(   r+   r2   r   r   r   r   <module>   s   
