...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/promql.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>PromQL</name>
     4    <alias>promql</alias>
     5    <filename>*.promql</filename>
     6  </config>
     7  <rules>
     8    <state name="range">
     9      <rule pattern="\]">
    10        <token type="Punctuation"/>
    11        <pop depth="1"/>
    12      </rule>
    13      <rule pattern="[1-9][0-9]*[smhdwy]">
    14        <token type="LiteralString"/>
    15      </rule>
    16    </state>
    17    <state name="function">
    18      <rule pattern="\)">
    19        <token type="Operator"/>
    20        <pop depth="1"/>
    21      </rule>
    22      <rule pattern="\(">
    23        <token type="Operator"/>
    24        <push/>
    25      </rule>
    26      <rule>
    27        <pop depth="1"/>
    28      </rule>
    29    </state>
    30    <state name="root">
    31      <rule pattern="\n">
    32        <token type="TextWhitespace"/>
    33      </rule>
    34      <rule pattern="\s+">
    35        <token type="TextWhitespace"/>
    36      </rule>
    37      <rule pattern=",">
    38        <token type="Punctuation"/>
    39      </rule>
    40      <rule pattern="(group_right|group_left|ignoring|without|offset|bool|on|by)\b">
    41        <token type="Keyword"/>
    42      </rule>
    43      <rule pattern="(count_values|quantile|bottomk|stdvar|stddev|count|group|topk|sum|min|max|avg)\b">
    44        <token type="Keyword"/>
    45      </rule>
    46      <rule pattern="(histogram_quantile|quantile_over_time|absent_over_time|stdvar_over_time|stddev_over_time|count_over_time|predict_linear|label_replace|max_over_time|avg_over_time|sum_over_time|days_in_month|min_over_time|day_of_month|holt_winters|day_of_week|label_join|sort_desc|clamp_max|timestamp|clamp_min|increase|changes|resets|vector|absent|idelta|minute|scalar|log10|delta|month|floor|deriv|round|irate|rate|year|sort|log2|sqrt|ceil|time|hour|abs|exp|ln)\b">
    47        <token type="KeywordReserved"/>
    48      </rule>
    49      <rule pattern="[1-9][0-9]*[smhdwy]">
    50        <token type="LiteralString"/>
    51      </rule>
    52      <rule pattern="-?[0-9]+\.[0-9]+">
    53        <token type="LiteralNumberFloat"/>
    54      </rule>
    55      <rule pattern="-?[0-9]+">
    56        <token type="LiteralNumberInteger"/>
    57      </rule>
    58      <rule pattern="#.*?$">
    59        <token type="CommentSingle"/>
    60      </rule>
    61      <rule pattern="(\+|\-|\*|\/|\%|\^)">
    62        <token type="Operator"/>
    63      </rule>
    64      <rule pattern="==|!=|&gt;=|&lt;=|&lt;|&gt;">
    65        <token type="Operator"/>
    66      </rule>
    67      <rule pattern="and|or|unless">
    68        <token type="OperatorWord"/>
    69      </rule>
    70      <rule pattern="[_a-zA-Z][a-zA-Z0-9_]+">
    71        <token type="NameVariable"/>
    72      </rule>
    73      <rule pattern="([&#34;\&#39;])(.*?)([&#34;\&#39;])">
    74        <bygroups>
    75          <token type="Punctuation"/>
    76          <token type="LiteralString"/>
    77          <token type="Punctuation"/>
    78        </bygroups>
    79      </rule>
    80      <rule pattern="\(">
    81        <token type="Operator"/>
    82        <push state="function"/>
    83      </rule>
    84      <rule pattern="\)">
    85        <token type="Operator"/>
    86      </rule>
    87      <rule pattern="\{">
    88        <token type="Punctuation"/>
    89        <push state="labels"/>
    90      </rule>
    91      <rule pattern="\[">
    92        <token type="Punctuation"/>
    93        <push state="range"/>
    94      </rule>
    95    </state>
    96    <state name="labels">
    97      <rule pattern="\}">
    98        <token type="Punctuation"/>
    99        <pop depth="1"/>
   100      </rule>
   101      <rule pattern="\n">
   102        <token type="TextWhitespace"/>
   103      </rule>
   104      <rule pattern="\s+">
   105        <token type="TextWhitespace"/>
   106      </rule>
   107      <rule pattern=",">
   108        <token type="Punctuation"/>
   109      </rule>
   110      <rule pattern="([_a-zA-Z][a-zA-Z0-9_]*?)(\s*?)(=~|!=|=|!~)(\s*?)(&#34;|&#39;)(.*?)(&#34;|&#39;)">
   111        <bygroups>
   112          <token type="NameLabel"/>
   113          <token type="TextWhitespace"/>
   114          <token type="Operator"/>
   115          <token type="TextWhitespace"/>
   116          <token type="Punctuation"/>
   117          <token type="LiteralString"/>
   118          <token type="Punctuation"/>
   119        </bygroups>
   120      </rule>
   121    </state>
   122  </rules>
   123</lexer>

View as plain text