o
    Rh	                     @   sf   d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZmZ dgZdd Zdd ZG d	d deZd
S )z
    pygments.lexers.json5
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for Json5 file format.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )include
RegexLexerwords)CommentKeywordNameNumberPunctuationString
Whitespace
Json5Lexerc                 C   s(   d|  dt fdt jfdtf| t dfgS )Nz[^z\\]+z\\.z\\#pop)r
   Escaper	   
quote_mark r   W/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/pygments/lexers/json5.pystring_rules   s
   r   c                 C   s   d|  d|  t jdfgS )Nz([^z	\\]|\\.)*)r   object_value)r   Variabler   r   r   r   quoted_field_name   s   r   c                   @   s  e Zd ZdZdZdgZdgZdZdZde	j
fdejfd	e	fged
dedfdedfdejfdejfdedfdedfeg dddefdefdefg
ededdefdedfedgdefdedfdejd fdejd!fdejd"fed
gededdedfded#fedgd$	Zd%S )&r   z Lexer for JSON5 data structures.JSON5json5z*.json5zhttps://json5.orgz2.19z
(//|#).*\nz/\*\*([^/]|/(?!\*))*\*/z/\*([^/]|/(?!\*))*\*/	_comments'singlestring"doublestringz[+-]?0[xX][0-9a-fA-F]+z'[+-.]?[0-9]+[.]?[0-9]?([eE][-]?[0-9]+)?z\{objectz\[array)falseInfinityz	+Infinityz	-InfinityNaNnulltruez\b)suffixz\s+:,z\]r   rootz\}z	\b([^:]+)r   double_field_namesingle_field_namez#pop:2)	r   r(   r   r   r   r   r)   r*   r   N)__name__
__module____qualname____doc__namealiases	filenamesurlversion_addedr   Singler
   Docr   r   HexFloatr	   r   r   r   r   r   r   r   tokensr   r   r   r   r   "   s\    



N)r.   pygments.lexerr   r   r   pygments.tokenr   r   r   r   r	   r
   r   __all__r   r   r   r   r   r   r   <module>   s    
$	