Your IP : 216.73.216.61
B
Ƚ�\� � @ sb d Z ddlZddlmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd� de�ZdS )z�
pygments.lexers.nix
~~~~~~~~~~~~~~~~~~~
Lexers for the NixOS Nix language.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Literal�NixLexerc @ s6 e Zd ZdZdZddgZdgZdgZej ej
B Zddd d
ddd
dddg
ZdddddddddddgZ
ddddd d!d"d#d$d%d&d'gZd(d)d*d+d,d-d.d/d0d1g
Zd2ejfd3ejd4fd5efd6d7�d8d9� eD �� efd6d7�d:d9� e
D �� ejfd;ejfd6d7�d<d9� eD �� efd=ejfd6d7�d>d9� eD �� efd?ejfd@ejdAfdBejdCfdDe fdEe fdFe fdGej!fdHefgdIejfd3ejdJfdKejdLfdMejfgdNej"fdOej"fdPej"fdQej"fdRej"fdBejdLfdSej#dTfdUejfgdVej"fdWej"fdXej"fd@ejdLfdSej#dTfdYejfgdZej#dLfdSej#dJfe$d[�gd\�Z%d]d^� Z&d_S )`r
zU
For the `Nix language <http://nixos.org/nix/>`_.
.. versionadded:: 2.0
ZNixZnixosZnixz*.nixz
text/x-nixZrec�withZlet�inZinherit�assert�if�elseZthenz...�import�abortZ
baseNameOfZdirOfZisNull�builtins�mapZremoveAttrs�throw�toStringZ
derivationz++�+�?�.�!z//z==z!=z&&z||z->�=�(�)�[�]�;�{�}�:�,�@z#.*$z/\*�commentz\s+z(%s)�|c c s | ]}t �|�d V qdS )z\bN)�re�escape)�.0�entry� r. �D/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/nix.py� <genexpr>8 s zNixLexer.<genexpr>c c s | ]}t �|�d V qdS )z\bN)r* r+ )r, r- r. r. r/ r0 ; s z\b(true|false|null)\bc c s | ]}t �|�V qd S )N)r* r+ )r, r- r. r. r/ r0 A s z\b(or|and)\bc c s | ]}t �|�V qd S )N)r* r+ )r, r- r. r. r/ r0 H s z[0-9]+�"�doublequotez''�singlequotez[\w.+-]*(\/[\w.+-]+)+z\<[\w.+-]+(\/[\w.+-]+)*\>z4[a-zA-Z][a-zA-Z0-9\+\-\.]*\:[\w%/?:@&=+$,\\.!~*\'-]+z
[\w-]+\s*=z[a-zA-Z_][\w\'-]*z[^/*]+z#pushz\*/z#popz[*/]z'''z''\$\{z''\nz''\rz''\tz\$\{� antiquotez[^']z\\z\\"z\\$\{z[^"]z\}�root)r5 r( r3 r2 r4 c C sX d}t �d| �r|d7 }t �d| �r,|d7 }t �d| �r@|d7 }t �d| �rT|d7 }|S )Ng zimport.+?<[^>]+>g�������?zmkDerivation\s+(\(|\{|rec)z=\s+mkIf\s+z\{[a-zA-Z,\s]+\}:g�������?)r* �search)�text�rvr. r. r/ �analyse_text} s zNixLexer.analyse_textN)'�__name__�
__module__�__qualname__�__doc__�name�aliases� filenamesZ mimetypesr* � MULTILINE�UNICODE�flags�keywordsr Z operatorsZpunctuationsr �SingleZ Multiliner �joinr r ZBuiltinZConstantr �Wordr r
ZIntegerr �Doubler ZSymbolZEscapeZInterpolr �tokensr9 r. r. r. r/ r
sl
)r= r* Zpygments.lexerr r Zpygments.tokenr r r r r r r
r r �__all__r
r. r. r. r/ �<module>
s
,