U
    YSh	                     @   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	   Z
quote_mark r   H/root/rtd-docs/venv/lib/python3.8/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dddddddg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.ZJSON5Z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+   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   __all__r   r   r   r   r   r   r   <module>   s   
$	