o
    -wi                     @   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-2017 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dgZdgZdgZej	ej
B 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d/ej"fd0ej"fd1ej"fdejd%fd,ej#d-fd2ejfgd3ej#d%fd,ej#d#fe$d4gd5Z%d6d7 Z&d8S )9r   zU
    For the `Nix language <http://nixos.org/nix/>`_.

    .. versionadded:: 2.0
    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                 c       | ]
}t |d  V  qdS z\bNreescape.0entry r>   ]/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/nix.py	<genexpr>8       zNixLexer.<genexpr>c                 c   r6   r7   r8   r;   r>   r>   r?   r@   ;   rA   z\b(true|false|null)\bc                 c       | ]}t |V  qd S Nr8   r;   r>   r>   r?   r@   A       z\b(or|and)\bc                 c   rB   rC   r8   r;   r>   r>   r?   r@   H   rD   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)rI   r4   rG   rF   rH   c                 C   sX   d}t d| r|d7 }t d| r|d7 }t d| r |d7 }t d| r*|d7 }|S )Ng        zimport.+?<[^>]+>g?zmkDerivation\s+(\(|\{|rec)z=\s+mkIf\s+z\{[a-zA-Z,\s]+\}:g?)r9   search)textrvr>   r>   r?   analyse_text}   s   zNixLexer.analyse_textN)'__name__
__module____qualname____doc__namealiases	filenames	mimetypesr9   	MULTILINEUNICODEflagskeywordsr   	operatorspunctuationsr   Single	Multiliner   joinr   r   BuiltinConstantr   Wordr   r
   Integerr	   Doubler   SymbolEscapeInterpolr   tokensrM   r>   r>   r>   r?   r      sx    


1






	
Q)rQ   r9   pygments.lexerr   r   pygments.tokenr   r   r   r   r   r	   r
   r   r   __all__r   r>   r>   r>   r?   <module>   s   
,