Your IP : 216.73.216.213


Current Path : /opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyo

�
Y-Qc@sTdZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZddd	d
gej
�ZiZd�Zd�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�Zdejfd��YZejdZed�Zejj ej�eejd<e`e`e`e`dS(s�
    pygments.lexers
    ~~~~~~~~~~~~~~~

    Pygments lexers.

    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
i����N(tbasename(tLEXERS(tfind_plugin_lexers(t
ClassNotFoundtbytestget_lexer_by_nametget_lexer_for_filenametfind_lexer_classtguess_lexercCsLt|dddg�}x-|jD]"}t||�}|t|j<q"WdS(s:
    Load a lexer (and all others in the module too).
    t__all__N(t
__import__tNoneR	tgetattrt_lexer_cachetname(tmodule_nametmodt
lexer_nametcls((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyt_load_lexerssccsUxtj�D]}|dVq
Wx.t�D]#}|j|j|j|jfVq*WdS(st
    Return a generator of tuples in the form ``(name, aliases,
    filenames, mimetypes)`` of all know lexers.
    iN(Rt
itervaluesRRtaliasest	filenamest	mimetypes(titemtlexer((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pytget_all_lexers&s
cCs�|tkrt|SxAtj�D]3\}}}}}||kr!t|�t|Sq!Wx$t�D]}|j|krb|SqbWdS(sA
    Lookup a lexer class by name. Return None if not found.
    N(R
RRRRR(RRtlnameRt_R((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyR1s"
cKs�xVtj�D]H\}}}}}||kr
|tkrGt|�nt||�Sq
Wx*t�D]}||jkrc||�SqcWtd|��dS(s"
    Get a lexer by an alias.
    sno lexer for alias %r foundN(RRR
RRRR(t_aliastoptionsRRRRR((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyRBs"
csYg}t|�}xytj�D]k\}}}}}xS|D]K}	tj||	�r;|tkrlt|�n|jt||	f�q;q;WqWxMt�D]B}
x9|
jD].}	tj||	�r�|j|
|	f�q�q�Wq�Wt	j
d	krt�t�r�j
d��n�fd�}|rE|jd|�|dd|�Std|��dS(
s�
    Get a lexer for a filename.  If multiple lexers match the filename
    pattern, use ``analyze_text()`` to figure out which one is more
    appropriate.
    itlatin1csF|\}}d|krdp!d}�r;|j��|S|j|S(Nt*g�?i(tanalyse_texttpriority(tinfoRtfilenametbonus(tcode(sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyt
get_ratingjs
tkeyi����isno lexer for filename %r foundN(i(RRRtfnmatchR
RtappendRRtsystversion_infot
isinstanceRtdecodetsortR(t_fnR&RtmatchestfntmodnameRRRR$RR'((R&sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyRSs&"

"cKs�xVtj�D]H\}}}}}||kr
|tkrGt|�nt||�Sq
Wx*t�D]}||jkrc||�SqcWtd|��dS(s%
    Get a lexer for a mimetype.
    sno lexer for mimetype %r foundN(RRR
RRRR(t_mimeRR3RRRR((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pytget_lexer_for_mimetype}s"
ccsjxJtt�D]<}t|d \}}|tkr@t|�nt|Vq
Wxt�D]}|VqWWdS(s4
    Return an iterator over all lexer classes.
    iN(tsortedRR
RR(R(RRR((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyt_iter_lexerclasses�s

c
Kslt|�}d}t�}x�t�D]x}x9|jD].}tj||�r5|j|�|}q5q5Wx3|jD](}tj||�rq|j|�qqqqWq%W|s�td|��nt	|�dkr�|j
�|�Sg}xF|D]>}|j|�}	|	dkr||�S|j|	|f�q�W|j
�|ddrZ|dk	rZ||�S|dd|�S(s�
    Lookup all lexers that handle those filenames primary (``filenames``)
    or secondary (``alias_filenames``). Then run a text analysis for those
    lexers and choose the best result.

    usage::

        >>> from pygments.lexers import guess_lexer_for_filename
        >>> guess_lexer_for_filename('hello.html', '<%= @foo %>')
        <pygments.lexers.templates.RhtmlLexer object at 0xb7d2f32c>
        >>> guess_lexer_for_filename('hello.html', '<h1>{{ title|e }}</h1>')
        <pygments.lexers.templates.HtmlDjangoLexer object at 0xb7d2f2ac>
        >>> guess_lexer_for_filename('style.css', 'a { color: <?= $link ?> }')
        <pygments.lexers.templates.CssPhpLexer object at 0xb7ba518c>
    sno lexer for filename %r foundig�?i����iN(RRtsetR7RR)taddtalias_filenamesRtlentpopR!R*R/(
R0t_textRR2tprimarytmatching_lexersRR$tresulttrv((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pytguess_lexer_for_filename�s2	





cKs�ddg}xVt�D]K}|j|�}|dkrA||�S||dkr||f|(qqW|ds�|ddkr�td��n|d|�S(sI
    Guess a lexer by strong distinctions in the text (eg, shebang).
    gg�?iis no lexer matching the text foundN(RR7R!R(R=Rt
best_lexerRRA((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyR�s
t_automodulecBseZdZd�ZRS(sAutomatically import lexers.cCsUtj|�}|rEt|d�t|d}t|||�|St|��dS(Nii(RtgetRR
tsetattrtAttributeError(tselfRR#R((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyt__getattr__�s(t__name__t
__module__t__doc__RI(((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyRD�sspygments.lexers(!RLR+ttypesR)tos.pathRtpygments.lexers._mappingRtpygments.pluginRt
pygments.utilRRtkeysR	R
RRRRRRR5R7RBRt
ModuleTypeRDtmodulestoldmodtnewmodt__dict__tupdate(((sI/opt/alt/python27/lib/python2.7/site-packages/pygments/lexers/__init__.pyt<module>
s2		
			*		
	+