3 ��X� � @ sb d Z ddlZddlmZmZ ddlmZmZmZm Z m Z mZmZm Z mZ dgZG dd� de�ZdS )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 @ s6 e Zd ZdZdZddgZdgZdgZej ej B Zddd d ddd dddg ZdddddddddddgZ ddddd d!d"d#d$d%d&d'gZd(d)d*d+d,d-d.d/d0d1g Zd2ejfd3ejd4fd5efd6d7jd8d9� eD �� efd6d7jd:d9� e D �� ejfd;ejfd6d7jd<d9� eD �� efd=ejfd6d7jd>d9� eD �� efd?ejfd@ejdAfdBejdCfdDe fdEe fdFe fdGej!fdHefgdIejfd3ejdJfdKejdLfdMejfgdNej"fdOej"fdPej"fdQej"fdRej"fdBejdLfdSej#dTfdUejfgdVej"fdWej"fdXej"fd@ejdLfdSej#dTfdYejfgdZej#dLfdSej#dJfe$d[�gd\�Z%d]d^� Z&d_S )`r zU For the `Nix language <http://nixos.org/nix/>`_. .. versionadded:: 2.0 ZNixZnixosZnixz*.nixz text/x-nixZrec�withZlet�inZinherit�assert�if�elseZthenz...�import�abortZ baseNameOfZdirOfZisNull�builtins�mapZremoveAttrs�throwZtoStringZ derivationz++�+�?�.�!z//z==z!=z&&z||z->�=�(�)�[�]�;�{�}�:�,�@z#.*$z/\*�commentz\s+z(%s)�|c c s | ]}t j|�d V qdS )z\bN)�re�escape)�.0�entry� r- �/usr/lib/python3.6/nix.py� <genexpr>8 s zNixLexer.<genexpr>c c s | ]}t j|�d V qdS )z\bN)r) r* )r+ r, r- r- r. r/ ; s z\b(true|false|null)\bc c s | ]}t j|�V qd S )N)r) r* )r+ r, r- r- r. r/ A s z\b(or|and)\bc c s | ]}t j|�V qd S )N)r) r* )r+ r, r- r- r. r/ H s 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)r4 r'