
    L&i                     p    d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZ dgZ G d de          ZdS )z
    pygments.lexers.nix
    ~~~~~~~~~~~~~~~~~~~

    Lexers for the NixOS Nix language.

    :copyright: Copyright 2006-2022 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                      e Zd ZdZdZdZddgZdgZdgZg dZ	g d	Z
g d
Zg dZdej        fdej        dfdefdd                    d e	D                       z  efdd                    d e
D                       z  ej        fdej        fdd                    d eD                       z  efdej        fdd                    d eD                       z  efdej        fdej        dfdej        dfdefdefdefd ej        fd!efgd"ej        fdej        d#fd$ej        d%fd&ej        fgd'ej        fd(ej        fd)ej        fd*ej        fd+ej        fdej        d%fd,ej         d-fd.ej        fd/ej        fg	d0ej        fd1ej        fd2ej        fdej        d%fd,ej         d-fd3ej        fgd4ej         d%fd,ej         d#f e!d5          gd6Z"d7 Z#d8S )9r   z:
    For the Nix language.

    .. versionadded:: 2.0
    Nixzhttp://nixos.org/nix/nixosnixz*.nixz
text/x-nix)
recwithletininheritassertifelsethenz...)importabort
baseNameOfdirOfisNullbuiltinsmapremoveAttrsthrowtoString
derivation)z+++?.!z//z==z!=z&&z||z->=)
()[];{}:,@z#.*$z/\*commentz\s+z(%s)|c              #   D   K   | ]}t          j        |          d z   V  dS z\bNreescape.0entrys     `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/nix.py	<genexpr>zNixLexer.<genexpr>6   1      NNEry//%7NNNNNN    c              #   D   K   | ]}t          j        |          d z   V  dS r9   r:   r=   s     r@   rA   zNixLexer.<genexpr>9   rB   rC   z\b(true|false|null)\bc              #   >   K   | ]}t          j        |          V  d S Nr:   r=   s     r@   rA   zNixLexer.<genexpr>?   s,      GGEry//GGGGGGrC   z\b(or|and)\bc              #   >   K   | ]}t          j        |          V  d S rF   r:   r=   s     r@   rA   zNixLexer.<genexpr>F   s,      JJEry//JJJJJJrC   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[^"]z\}root)rL   r6   rJ   rI   rK   c                     d}t          j        d|           r|dz  }t          j        d|           r|dz  }t          j        d|           r|dz  }t          j        d|           r|dz  }|S )Ng        zimport.+?<[^>]+>g?zmkDerivation\s+(\(|\{|rec)z=\s+mkIf\s+z\{[a-zA-Z,\s]+\}:g?)r;   search)textrvs     r@   analyse_textzNixLexer.analyse_text|   s    9($// 	#IB92D99 	#IB9^T** 	#IB9)400 	#IB	rC   N)$__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypeskeywordsr!   	operatorspunctuationsr   Single	Multiliner   joinr   r	   BuiltinConstantr   Wordr   r   Integerr
   Doubler   SymbolEscapeInterpolr   tokensrQ    rC   r@   r   r      s         D
!CG	II' ' 'HI I IH. . .I FEEL
 gn% W&	2 TN chhNNXNNNNNNPWX chhNNXNNNNNN\ &t}5 chhGGYGGGGGG hm, chhJJ\JJJJJJKX ' 6=-0FM=1 &w/)73 EgN FM*!4([/
b )*W&0W&/g'(	
 V]#&fm$fm$fm$FM6*fo{3fm$&

 FM"V]#v}%6=&)fo{3fm$
 FOV,fow/GFOO	
UP PFd    rC   )rU   r;   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   rj   rC   r@   <module>rn      s     
			 . . . . . . . .! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ,s s s s sz s s s s srC   