
    Mh                         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mZmZ dgZdZedz   Zd Zd Z G d	 de          Zd
S )z
    pygments.lexers.jsonnet
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Jsonnet data templating language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )include
RegexLexerwords)	CommentKeywordNameNumberOperatorPunctuationStringText
WhitespaceJsonnetLexerz
[^\W\d]\w*z(?=\()c                 J    d|  dt           fdt           j        f| t           dfgS )Nz[^z\\]z\\.#pop)r   Escape
quote_marks    W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/jsonnet.pystring_rulesr      s3    	z			'		VV$     c                 .    d|  d|  t           j        dfgS )Nz([^z	\\]|\\.)*field_separator)r   Variabler   s    r   quoted_field_namer      s,    	1
	1	1Z	1	1	)	+ r   c                   V   e Zd ZdZdZdgZddgZdZdZi dd	e	j
        fd
ej        fde	fgd ed          defdefdedfdedfdefdej        fdefdedfdedfdedfdedf eg dd           efd!efd"ed#fd$ez   ej        d%feej        d%feej        fd&efgd ed          d ed          dd'efd(ed)f ed          gdeej        d#feej        fd!efd*ed+fgd,d-efd.ed)f ed          gdd/efd.ed)f ed          gd#eej        fd0efd1ed)fd'efd!efd-ed2fgd%d0efd1ed)fd'efd!ef ed          gdd!efded3fded4fded5fd6e d7ed8fd9ed)fdej        d:fdej        d;f ed          g	d8eej        d<feej        d=fgd: ed          d; ed          d5d(ed=f ed          gd2d>ed)f ed          gd=d!efd?ed@f ed          gd'ed)fd9edAf ed          gd/efd'ed)f ed          geej        dBfd!efgd-efd'ed)fd9edAf ed          gdCZdDS )Er   zLexer for Jsonnet source code.Jsonnetjsonnetz	*.jsonnetz*.libsonnetzhttps://jsonnet.org 	_commentsz
(//|#).*\nz/\*\*([^/]|/(?!\*))*\*/z/\*([^/]|/(?!\*))*\*/rootz@'.*'z@".*"'singlestring"doublestringz\|\|\|(.|\n)*\|\|\|z[+-]?[0-9]+(.[0-9])?z[!$~+\-&|^=<>*/%]z\{objectz\[arrayzlocal\b
local_namezassert\bassert)r)   elseerrorfalseforifimport	importstrinnull
tailstrictthenselfsupertruez\b)suffixz\s+zfunction(?=\()function_paramszstd\.function_argsz[\.()],z\]r   z(?==))r   local_valuer<   =;:z\(z\)function_param_defaultobject_local_nameobject_assertfield_name_exprz(?=)
field_namez\}double_field_namesingle_field_name)r   r9   r   z	(?=[,\)])z\+?::?:?)r   r   field_valuez#pop:2)r   object_local_value)rH   rB   rA   rI   N)__name__
__module____qualname____doc__namealiases	filenamesurlversion_addedr   Singler   Docr   r	   Floatr
   r   r   r   r   jsonnet_function_tokenr   BuiltinFunctionjsonnet_tokenr   r   r   r   tokens r   r   r   r   $   s       ((DkGm,I
CM}GN+'4%w/
} 	GK  vv6>*6>*#V,$fl3 "8,K*K)<1'8,U    	    '	(
 Z ):;..oN#T]ODDM*$5
}F 	S))G}H 	S))I}J 	;K(GFOO
K}T 	#T]4EFDM*Z j"9:	
U}` 	8;'GFOO
a}j 	;;'GFOO
k}t 	DM*K K(;Z 856
u}D 	K K(;Z GFOO
E}R 	Z "56'?3H/0$M$$$dL9K(4="564="56GK  

S}h 	#T]6 DM+<=	
i}t 	..s33u}v 	..s33w}x 	H/0GFOO
y}@ 	!:v.GFOO#
A}H 	Z +'FGGK  
I}T ;'K*GFOO
 ;;'GFOO
 DM+IJZ 

 8;'K*GFOO	
o} } }FFFr   N)rM   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   __all__rY   rV   r   r   r   r[   r   r   <module>r_      s    6 5 5 5 5 5 5 5 5 5* * * * * * * * * * * * * * * * * * * * * * 
&2     E E E E E: E E E E Er   