3

V'íc¯ã@sbdZddlZddlmZmZddlmZmZmZm	Z	m
Z
mZmZm
Z
mZdgZGdd„deƒZdS)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@s6eZdZdZdZdZddgZdgZdgZdd	d
ddd
ddddg
Z	dddddddddddgZ
dddd d!d"d#d$d%d&d'd(gZd)d*d+d,d-d.d/d0d1d2g
Zd3e
jfd4e
jd5fd6efd7d8jd9d:„e	Dƒƒefd7d8jd;d:„e
Dƒƒejfd<ejfd7d8jd=d:„eDƒƒefd>ejfd7d8jd?d:„eDƒƒefd@ejfdAejdBfdCejdDfdEefdFefdGefdHejfdIefgdJe
jfd4e
jdKfdLe
jdMfdNe
jfgdOejfdPejfdQejfdRejfdSejfdCejdMfdTej dUfdVejfdWejfg	dXejfdYejfdZejfdAejdMfdTej dUfd[ejfgd\ej dMfdTej dKfe!d]ƒgd^œZ"d_d`„Z#daS)br
z:
    For the Nix language.

    .. versionadded:: 2.0
    ZNixzhttp://nixos.org/nix/ZnixosZnixz*.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)ú|ccs|]}tj|ƒdVqdS)z\bN)ÚreÚescape)Ú.0Úentry©r.ú7/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/nix.pyú	<genexpr>6szNixLexer.<genexpr>ccs|]}tj|ƒdVqdS)z\bN)r*r+)r,r-r.r.r/r09sz\b(true|false|null)\bccs|]}tj|ƒVqdS)N)r*r+)r,r-r.r.r/r0?sz\b(or|and)\bccs|]}tj|ƒVqdS)N)r*r+)r,r-r.r.r/r0Fsz[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)r5r(r3r2r4cCsXd}tjd|ƒr|d7}tjd|ƒr,|d7}tjd|ƒr@|d7}tjd|ƒrT|d7}|S)Ngzimport.+?<[^>]+>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ÚurlÚaliasesÚ	filenamesÚ	mimetypesÚkeywordsrÚ	operatorsZpunctuationsrÚSingleZ	MultilinerÚjoinrrZBuiltinÚConstantrÚWordrr
ZIntegerr	ÚDoublerZSymbolZEscapeZInterpolrÚtokensr9r.r.r.r/r
sn














)r=r*Zpygments.lexerrrZpygments.tokenrrrrrr	r
rrÚ__all__r
r.r.r.r/Ú<module>	s
,