
    |ek                     d    d Z ddlmZ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 dgZ G d de      Zy)z
    pygments.lexers.promql
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Prometheus Query Language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsdefaultwords)CommentKeywordNameNumberOperatorPunctuationString
WhitespacePromQLLexerc                      e Zd ZdZdZdZdgZdgZ edd      e	fZ
 ed	d      e	fZ ed
d      e	j                  fZdefdefdefe
eedefdej$                  fdej&                  fdej*                  fdefdefdej.                  fdej2                  fd eeee      fdedfdefdedfdedfgdedfdefdefdefd  eej6                  eeeeee      fgd!edfdefgdedfded"f ed      gd#Zy$)%r   z
    For PromQL queries.

    For details about the grammar see:
    https://github.com/prometheus/prometheus/tree/master/promql/parser

    .. versionadded: 2.7
    PromQLz=https://prometheus.io/docs/prometheus/latest/querying/basics/promqlz*.promql)boolby
group_leftgroup_rightignoringoffsetonwithoutz\b)suffix)summinmaxavggroupstddevstdvarcountcount_valuesbottomktopkquantile)/absabsentabsent_over_timeavg_over_timeceilchanges	clamp_max	clamp_mincount_over_timeday_of_monthday_of_weekdays_in_monthdeltaderivexpfloorhistogram_quantileholt_wintershourideltaincreaseirate
label_joinlabel_replacelnlog10log2max_over_timemin_over_timeminutemonthpredict_linearquantile_over_timerateresetsroundscalarsort	sort_descsqrtstddev_over_timestdvar_over_timesum_over_timetime	timestampvectoryearz\nz\s+,z[1-9][0-9]*[smhdwy]z-?[0-9]+\.[0-9]+z-?[0-9]+z#.*?$z(\+|\-|\*|\/|\%|\^)z==|!=|>=|<=|<|>zand|or|unlessz[_a-zA-Z][a-zA-Z0-9_]+z(["\'])(.*?)(["\'])z\(functionz\)z\{labelsz\[rangez\}z#popzB([_a-zA-Z][a-zA-Z0-9_]*?)(\s*?)(=~|!=|=|!~)(\s*?)("|\')(.*?)("|\')z\]z#push)rootrY   rZ   rX   N)__name__
__module____qualname____doc__nameurlaliases	filenamesr   r   base_keywordsaggregator_keywordsReservedfunction_keywordsr   r   r   r
   FloatIntegerr   Singler   Wordr	   Variabler   Labelr   tokens     8/usr/lib/python3/dist-packages/pygments/lexers/promql.pyr   r      s    D
ICjGI 		 	
 	M$ 	 	
" 	%, 	0b e3	
h 	k6t JZ ;#V, &,,/&..)w~~&#X.*x}}-&6#Xk6;%OPHj)HK*K)7
< K(JZ ;Rdjj*h
!6;89
 K(#V,

 Hf%Hg&FO
W0Frp   N)r_   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   ro   rp   rq   <module>ru      s9    @ ?$ $ $ /]* ]rp   