File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/promql.cpython-311.pyc
�
�;f� � �l � d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ dgZ G d� de� � ZdS )z�
pygments.lexers.promql
~~~~~~~~~~~~~~~~~~~~~~
Lexer for Prometheus Query Language.
:copyright: Copyright 2006-2024 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 Zd ZdZdZdZdgZdgZdZ e dd� � � e
fZ e d
d� � � e
fZ e dd� � � e
j
fZdefd
efdefeeedefdej fdej fdej fdefdefdej fdej fd eeee� � fdedfdefdedfdedfgded fdefd
efdefd! eej eeeeee� � fgd"ed fdefgded fded#f ed � � gd$�Zd%S )&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)�rootrZ r[ rY N)�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames�
version_addedr r �
base_keywords�aggregator_keywords�Reserved�function_keywordsr r r
r
�Float�Integerr �Singler �Wordr �Variabler �Labelr �tokens� � �I/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/promql.pyr r s � � � � � �� � �D�
I�C��j�G���I��M� ��
� �
�
�
� ��M�$ ��
� �
�
�
�"