a
    ©lc‡  ã                   @   sb   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„ 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                   @   sè  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d„ e	D ƒ¡ efdd dd„ e
D ƒ¡ ejfdejfdd dd„ eD ƒ¡ efdejfdd dd„ eD ƒ¡ 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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"d7d8„ Z#d9S ):r   z:
    For the Nix language.

    .. versionadded:: 2.0
    ÚNixzhttp://nixos.org/nix/ÚnixosÚnixz*.nixz
text/x-nix)
ZrecÚwithZletÚinÚinheritÚassertÚifÚelseZthenz...)ÚimportÚabortZ
baseNameOfZdirOfZisNullÚbuiltinsÚmapZremoveAttrsÚthrowZtoStringZ
derivation)z++ú+ú?Ú.ú!z//z==z!=z&&z||z->ú=)
ú(ú)ú[ú]ú;Ú{Ú}ú:ú,ú@z#.*$z/\*Úcommentz\s+z(%s)ú|c                 c   s   | ]}t  |¡d  V  qdS ©z\bN©ÚreÚescape©Ú.0Úentry© r4   úO/var/www/html/django/DPS/env/lib/python3.9/site-packages/pygments/lexers/nix.pyÚ	<genexpr>6   ó    zNixLexer.<genexpr>c                 c   s   | ]}t  |¡d  V  qdS r-   r.   r1   r4   r4   r5   r6   9   r7   z\b(true|false|null)\bc                 c   s   | ]}t  |¡V  qd S ©Nr.   r1   r4   r4   r5   r6   ?   r7   z\b(or|and)\bc                 c   s   | ]}t  |¡V  qd S r8   r.   r1   r4   r4   r5   r6   F   r7   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)r=   r+   r;   r:   r<   c                 C   sX   d}t  d| ¡r|d7 }t  d| ¡r,|d7 }t  d| ¡r@|d7 }t  d| ¡rT|d7 }|S )Ng        zimport.+?<[^>]+>gš™™™™™Ù?zmkDerivation\s+(\(|\{|rec)z=\s+mkIf\s+z\{[a-zA-Z,\s]+\}:gš™™™™™¹?)r/   Úsearch)ÚtextÚrvr4   r4   r5   Úanalyse_text{   s    zNixLexer.analyse_textN)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚkeywordsr   Ú	operatorsZpunctuationsr   ÚSingleÚ	Multiliner   Újoinr   r   ÚBuiltinÚConstantr   ÚWordr   r
   ÚIntegerr	   ÚDoubler   ÚSymbolÚEscapeÚInterpolr   ÚtokensrA   r4   r4   r4   r5   r      sv   
ÿÿ

Ó1

ü

ø

ú	

ü·Q)rE   r/   Zpygments.lexerr   r   Zpygments.tokenr   r   r   r   r   r	   r
   r   r   Ú__all__r   r4   r4   r4   r5   Ú<module>   s
   
,