
    L&i                         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-2022 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                 h    d                     |           t          fdt          j        f| t          dfgS )Nz[^{}\\]z\\.#pop)formatr   Escape
quote_marks    d/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/jsonnet.pystring_rulesr      s6    			:	&	&/		VV$     c                 J    d                     |           t          j        dfgS )Nz([^{quote}\\]|\\.)*{quote})quotefield_separator)r   r   Variabler   s    r   quoted_field_namer      s-    	&	-	-J	-	?	?	)	+ r   c                   R   e Zd ZdZdZdgZddg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d/efd0ed(fd&efd efd,ed1fgd$d/efd0ed(fd&efd ef ed          gdd efded2fded3fded4fd5e d6ed7fd8ed(fdej        d9fdej        d:f ed          g	d7eej        d;feej        d<fgd9 ed          d: ed          d4d'ed<f ed          gd1d=ed(f ed          gd<d efd>ed?f ed          gd&ed(fd8ed@f ed          gd.efd&ed(f ed          geej        dAfd efgd,efd&ed(fd8ed@f ed          gdBZdCS )Dr   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   r:   r   z	(?=[,\)])z\+?::?:?)r   r   field_valuez#pop:2)r   object_local_value)rI   rC   rB   rJ   N)__name__
__module____qualname____doc__namealiases	filenamesurlr   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}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)rN   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     D D D D D: D D D D Dr   