ó
$ZŽNc           @   sÂ   d  d l  Z  d  d l m Z d  d l m Z d  d l m Z m Z e j Z e  j	 d  Z
 e d    Z d e j f d     YZ i  g  d	  Z d
   Z d   Z d   Z d   Z d   Z d S(   i˙˙˙˙N(   t   nodes(   t   simplefilter(   t   Commentt   Tokens	   (\(\w+\))c   	      c   sé   xâ | D]Ú \ } } | t  k rÖ t j |  } t |  d k r | d d j   r | d j   r t | d d d !f Vq q n  xH t |  D]: \ } } | d d k rş | | f n t | d d !f Vq Wq n  | | f Vq Wd S(   s,   Pygments filter for annotations in comments.i   i    i   i˙˙˙˙i   N(   R   t   annotation_patt   splitt   lent   stript
   Annotationt	   enumerate(	   t   selft   lexert   streamt   optionst   ttypet   valuet   tokenst   idxt   token(    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   annotation_filter   s    &	t
   annotationc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyR   )   s   c         C   s   t  | |  g g  f S(   N(   R   (   t   namet   rawtextt   textt   linenot   inlinerR   t   content(    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   annotation_role-   s    c         C   s   |  j  j d  d  S(   Ns3   <span class="highlight"><span class="c-Annotation">(   t   bodyt   append(   R
   t   node(    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   visit_annotation_html2   s    c         C   s   |  j  j d  d  S(   Ns   </span></span>(   R   R   (   R
   R    (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   depart_annotation_html8   s    c         C   s   |  j  j d  d  S(   Ns7   \raisebox{0.2ex}[0pt][0pt]{\tt\tiny\PYG{c+cAnnotation}{(   R   R   (   R
   R    (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   visit_annotation_latex<   s    	c         C   s   |  j  j d  d  S(   Ns   }}(   R   R   (   R
   R    (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   depart_annotation_latexE   s    c         C   sc   d d l  m } m } | d j t    |  j t d t t f d t	 t
 f |  j d t  d  S(   Ni˙˙˙˙(   t   PygmentsBridget   lexerst   pythont   htmlt   latext   an(   t   sphinx.highlightingR%   R&   t
   add_filterR   t   add_nodeR   R!   R"   R#   R$   t   add_roleR   (   t   appR%   R&   (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   setupI   s    (   t   ret   docutilsR    t   pygments.filterR   t   pygments.tokenR   R   R   t   compileR   R   t	   referenceR   R   R!   R"   R#   R$   R0   (    (    (    s-   /Users/stefan/Code/simpy/docs/ext/annotate.pyt   <module>   s   						