
    ,hE                     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-2025 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                   0   e Zd ZdZdZdZddgZdgZdgZd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j%                  dj'                  d e
D                    efdj%                  dj'                  d eD                    ej,                  fdej.                  fdej2                  fdej4                  fdefdefdefdj%                  dj'                  d eD                    efdej:                  fdedfdj%                  dj'                  d eD                    efd ej@                  d!fd"ej                   d#fd$efd%ejB                  fd&efd'ejD                  d(fgd)ej                   fdej                   d*fd+ej                   d,fd-ej                   fgd.ejF                  fd"ej                   d,fd'ejD                  d(fd/ej                   fd0ej                   fd1ej                   fd2ej                   fgd3ejF                  fd ej@                  d,fd'ejD                  d(fd4ej@                  fd5ej@                  fd6ej@                  fd7ej@                  fgd8ejD                  d,fd'ejD                  d*f e$d9      gd8ed,f e$d9      gd:Z%d; Z&y<)=r   z
    For the Nix language.
    Nixzhttp://nixos.org/nix/nixosnixz*.nixz
text/x-nixz2.0)
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({})|c              #   L   K   | ]  }t        j                  |      d z     ywz\bNreescape.0entrys     U/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/nix.py	<genexpr>zNixLexer.<genexpr>5        #SBIIe$4u$<#S   "$c              #   L   K   | ]  }t        j                  |      d z     ywr>   r?   rB   s     rE   rF   zNixLexer.<genexpr>8   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>I   s     #LBIIe$4#L   !z\b(or|and)\bz\{blockc              #   F   K   | ]  }t        j                  |        y wrK   r?   rB   s     rE   rF   zNixLexer.<genexpr>R   s     #OBIIe$4#OrL   "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    99($/#IB992D9#IB99^T*#IB99)40#IB	    N)'__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedkeywordsr!   	operatorspunctuationsr   Single	Multiliner   formatjoinr   r	   BuiltinConstantr   FloatIntegerr   r   Wordr   r
   DoubleSymbolInterpolEscaper   tokensrX    rY   rE   r   r      s    D
!CG	IIM'HIHBI FL
 gnn% W&&	2 TN ]]388#S(#SSTV]^ ]]388#S(#SST\\ &t}}5 26<<@ &..) &w/()73 ]]388#L)#LLM hmm,K) ]]388#O,#OOPR]^ 6==-0F$$k2 EgN .!4(foo{3k6
p ))*W&&0W&&/g''(	
 (7F$$f-foo{3))*&**+v''())*
 v}}-6==&)foo{36==)&--('FMM"
 FOOV,foow/FO	
 K(FO
mZFxrY   )r]   r@   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   ru   rY   rE   <module>ry      s8    
 .! ! ! ,|z |rY   