Ë
    |í¼e.  ã                   óh   — 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y)zÍ
    pygments.lexers.nix
    ~~~~~~~~~~~~~~~~~~~

    Lexers for the NixOS Nix language.

    :copyright: Copyright 2006-2023 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j#                  d„ e	D «       «      z  efddj#                  d„ e
D «       «      z  ej(                  fdej*                  fdej.                  fdej0                  fdefdefdefddj#                  d„ eD «       «      z  efdej6                  fdedfddj#                  d„ eD «       «      z  efdej<                  d fd!ej                  d"fd#efd$ej>                  fd%efd&ej@                  d'fgd(ej                  fdej                  d)fd*ej                  d+fd,ej                  fgd-ejB                  fd!ej                  d+fd&ej@                  d'fd.ej                  fd/ej                  fd0ej                  fd1ej                  fgd2ejB                  fdej<                  d+fd&ej@                  d'fd3ej<                  fd4ej<                  fd5ej<                  fd6ej<                  fgd7ej@                  d+fd&ej@                  d)f e"d8«      gd7ed+f e"d8«      gd9œZ#d:„ Z$y;)<r   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              #   óL   K  — | ]  }t        j                  |«      d z   –— Œ y­w©z\bN©ÚreÚescape©Ú.0Úentrys     ú5/usr/lib/python3/dist-packages/pygments/lexers/nix.pyú	<genexpr>zNixLexer.<genexpr>6   ó   è ø€ ÒN¸EœrŸy™y¨Ó/°%Õ7ÑNùó   ‚"$c              #   óL   K  — | ]  }t        j                  |«      d z   –— Œ y­wr>   r?   rB   s     rE   rF   zNixLexer.<genexpr>9   rG   rH   z\b(true|false|null)\bz!-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?z-?[0-9]+z[\w.+-]*(\/[\w.+-]+)+z~(\/[\w.+-]+)+z\<[\w.+-]+(\/[\w.+-]+)*\>c              #   óF   K  — | ]  }t        j                  |«      –— Œ y ­w©Nr?   rB   s     rE   rF   zNixLexer.<genexpr>J   s   è ø€ ÒG°EœrŸy™y¨×/ÑGùó   ‚!z\b(or|and)\bz\{Úblockc              #   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrK   r?   rB   s     rE   rF   zNixLexer.<genexpr>S   s   è ø€ ÒJ°EœrŸy™y¨×/ÑJùrL   ú"Údoublequotez''Ú	multilinez4[a-zA-Z][a-zA-Z0-9\+\-\.]*\:[\w%/?:@&=+$,\\.!~*\'-]+z[\w-]+(?=\s*=)z[a-zA-Z_][\w\'-]*z\$\{Ú	antiquotez[^/*]+z#pushz\*/z#popz[*/]z''(\$|'|\\n|\\r|\\t|\\)z[^'\$]+z\$[^\{']z'[^']z\$(?=')z\\(\\|"|\$|n)z	[^"\\\$]+z\$[^\{"]z\$(?=")z\\z\}Úroot)rS   r;   rQ   rP   rR   rM   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     rE   Úanalyse_textzNixLexer.analyse_text†   sk   € Øˆä�9‰9Ð(¨$Ô/Ø�#‰IˆBÜ�9‰9Ð2°DÔ9Ø�#‰IˆBÜ�9‰9�^ TÔ*Ø�#‰IˆBÜ�9‰9Ð)¨4Ô0Ø�#‰IˆBØˆ	ó    N)%Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚkeywordsr!   Ú	operatorsÚpunctuationsr   ÚSingleÚ	Multiliner   Újoinr   r	   ÚBuiltinÚConstantr   ÚFloatÚIntegerr   r   ÚWordr   r
   ÚDoubleÚSymbolÚInterpolÚEscaper   ÚtokensrX   © rY   rE   r   r      s  „ ñð €DØ
!€CØ˜Ð€GØ�	€IØ�€Iò'€HòI€HòB€Iò F€Lð
 �g—n‘nÐ%ð �W×&Ñ&¨	Ð2ð �TˆNð �c—h‘hÑNÀXÔNÓNÑNÐPWÐXð �c—h‘hÑNÀXÔNÓNÑNØ�\‰\ðð & t§}¡}Ð5ð 2°6·<±<Ð@ð ˜&Ÿ.™.Ð)ð & wÐ/Ø Ð(Ø)¨7Ð3ð �c—h‘hÑG¸YÔGÓGÑGØðð ˜hŸm™mÐ,à�K Ð)ð �c—h‘hÑJ¸\ÔJÓJÑJÈKÐXð �6—=‘= -Ð0Ø�F×$Ñ$ kÐ2ð EÀgÐNð  §¡Ð.Ø! 4Ð(à�f—o‘o {Ð3ðk6
ðp ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð (¨¯©Ð7Ø�F×$Ñ$ fÐ-Ø�f—o‘o {Ð3Ø˜×)Ñ)Ð*Ø˜&×*Ñ*Ð+Ø�v×'Ñ'Ð(Ø˜×)Ñ)Ð*ð
ð ˜vŸ}™}Ð-Ø�6—=‘= &Ð)Ø�f—o‘o {Ð3Ø˜6Ÿ=™=Ð)Ø˜&Ÿ-™-Ð(Ø˜Ÿ™Ð'Ø�F—M‘MÐ"ð
ð �F—O‘O VÐ,à�f—o‘o wÐ/Ù�F‹Oð	
ð �K Ð(Ù�F‹Oð
ñmZ€FóxrY   )r]   r@   Úpygments.lexerr   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   r   Ú__all__r   rs   rY   rE   ú<module>rw      s8   ðñó 
ç .÷!÷ !õ !ð ˆ,€ô}ˆzõ }rY   