1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
!(function (t) {
var n = ['on', 'ignoring', 'group_right', 'group_left', 'by', 'without'],
a = [
'sum',
'min',
'max',
'avg',
'group',
'stddev',
'stdvar',
'count',
'count_values',
'bottomk',
'topk',
'quantile',
].concat(n, ['offset']);
t.languages.promql = {
comment: { pattern: /(^[ \t]*)#.*/m, lookbehind: !0 },
'vector-match': {
pattern: new RegExp('((?:' + n.join('|') + ')\\s*)\\([^)]*\\)'),
lookbehind: !0,
inside: {
'label-key': { pattern: /\b[^,]+\b/, alias: 'attr-name' },
punctuation: /[(),]/,
},
},
'context-labels': {
pattern: /\{[^{}]*\}/,
inside: {
'label-key': {
pattern: /\b[a-z_]\w*(?=\s*(?:=|![=~]))/,
alias: 'attr-name',
},
'label-value': {
pattern: /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,
greedy: !0,
alias: 'attr-value',
},
punctuation: /\{|\}|=~?|![=~]|,/,
},
},
'context-range': [
{
pattern: /\[[\w\s:]+\]/,
inside: {
punctuation: /\[|\]|:/,
'range-duration': {
pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
alias: 'number',
},
},
},
{
pattern: /(\boffset\s+)\w+/,
lookbehind: !0,
inside: {
'range-duration': {
pattern: /\b(?:\d+(?:[smhdwy]|ms))+\b/i,
alias: 'number',
},
},
},
],
keyword: new RegExp('\\b(?:' + a.join('|') + ')\\b', 'i'),
function: /\b[a-z_]\w*(?=\s*\()/i,
number:
/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,
operator: /[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,
punctuation: /[{};()`,.[\]]/,
};
})(Prism);
|