U
    `a[O                     @   sz   d Z ddlZddlmZ ddlmZmZmZ ddlm	Z	m
Z
mZ ddgZG dd deZi Zed	ZG d
d deZdS )z
    pygments.lexers.special
    ~~~~~~~~~~~~~~~~~~~~~~~

    Special lexers.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)Lexer)TokenErrorText)get_choice_opt	text_typeBytesIO	TextLexerRawTokenLexerc                   @   s:   e Zd ZdZdZdgZdgZdgZdZdd Z	d	d
 Z
dS )r	   z3
    "Null" lexer, doesn't highlight anything.
    z	Text onlytextz*.txtz
text/plaing{Gz?c                 c   s   dt |fV  d S )Nr   )r   )selfr    r   9/usr/lib/python3/dist-packages/pygments/lexers/special.pyget_tokens_unprocessed    s    z TextLexer.get_tokens_unprocessedc                 C   s   t jS )N)r	   priority)r   r   r   r   analyse_text#   s    zTextLexer.analyse_textN)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   r   r   r   r   r   r	      s   s   .*?
c                   @   s<   e Zd ZdZdZdgZg ZdgZdd Zdd Z	d	d
 Z
dS )r
   aq  
    Recreate a token stream formatted with the `RawTokenFormatter`.  This
    lexer raises exceptions during parsing if the token stream in the
    file is malformed.

    Additional options accepted:

    `compress`
        If set to ``"gz"`` or ``"bz2"``, decompress the token stream with
        the given compression algorithm before lexing (default: ``""``).
    zRaw token datarawzapplication/x-pygments-tokensc                 K   s*   t |dddddgd| _tj| f| d S )Ncompress Znonegzbz2)r   r   r   __init__)r   Zoptionsr   r   r   r   <   s
    
 zRawTokenLexer.__init__c                 c   s   t |tr|d}| jdkrDdd l}|dddt|}| }n| jdkr`dd l}|	|}|
dd }| |D ]\}}}||fV  qxd S )	Nasciir   r   r   rb	   r      
)
isinstancer   encoder   gzipZGzipFiler   readr   
decompressstripr   )r   r   r&   Zgzipfiler   itvr   r   r   
get_tokensA   s    





zRawTokenLexer.get_tokensc           	   	   c   s   d}t |D ]}z| dd\}}W n( tk
rR   | dd}t}Y nlX t|}|st	}|ddd  }|D ]&}|r|d 
 stdt||}q||t|< |dd	 d
}|||fV  |t|7 }qd S )Nr      	   r    replace.zmalformed token name   zunicode-escape)line_refinditergroupsplit
ValueErrordecoder   _ttype_cachegetr   isuppergetattrlen)	r   r   ZlengthmatchZttypestrvalZttypeZttypesZttype_r   r   r   r   S   s&    

z$RawTokenLexer.get_tokens_unprocessedN)r   r   r   r   r   r   r   r   r   r-   r   r   r   r   r   r
   +   s   )r   reZpygments.lexerr   Zpygments.tokenr   r   r   Zpygments.utilr   r   r   __all__r	   r:   compiler4   r
   r   r   r   r   <module>   s   

