Skip to content

Commit ea82478

Browse files
authored
AQL: Update for ArangoDB 3.8 (#2842)
- Add `K_PATHS` and `WINDOW` keywords - Support binary and hexadecimal number literals
1 parent 1c6c0bf commit ea82478

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

components/prism-aql.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Prism.languages.aql = {
1515
pattern: /(\bWITH\s+)COUNT(?=\s+INTO\b)/i,
1616
lookbehind: true
1717
},
18-
/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i,
18+
/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,
1919
// pseudo keywords get a lookbehind to avoid false positives
2020
{
2121
pattern: /(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,
@@ -35,7 +35,11 @@ Prism.languages.aql = {
3535
pattern: /\.\./,
3636
alias: 'operator'
3737
},
38-
'number': /(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i,
38+
'number': [
39+
/\b0b[01]+/i,
40+
/\b0x[0-9a-f]+/i,
41+
/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i
42+
],
3943
'operator': /\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,
4044
'punctuation': /::|[?.:,;()[\]{}]/
4145
};

components/prism-aql.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/languages/aql/keyword_feature.test

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ IN
1616
INBOUND
1717
INSERT
1818
INTO
19+
K_PATHS
1920
K_SHORTEST_PATHS
2021
LET
2122
LIKE
@@ -32,6 +33,7 @@ SHORTEST_PATH
3233
SORT
3334
UPDATE
3435
UPSERT
36+
WINDOW
3537
WITH
3638

3739
KEEP
@@ -69,6 +71,7 @@ OPTIONS
6971
["keyword", "INBOUND"],
7072
["keyword", "INSERT"],
7173
["keyword", "INTO"],
74+
["keyword", "K_PATHS"],
7275
["keyword", "K_SHORTEST_PATHS"],
7376
["keyword", "LET"],
7477
["keyword", "LIKE"],
@@ -85,6 +88,7 @@ OPTIONS
8588
["keyword", "SORT"],
8689
["keyword", "UPDATE"],
8790
["keyword", "UPSERT"],
91+
["keyword", "WINDOW"],
8892
["keyword", "WITH"],
8993

9094
["keyword", "KEEP"],

tests/languages/aql/number_feature.test

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
.5
77
4.87e103
88
4.87E103
9+
0b10101110
10+
0xabcdef02
911

1012
----------------------------------------------------
1113

@@ -17,7 +19,9 @@
1719
["number", "0.5"],
1820
["number", ".5"],
1921
["number", "4.87e103"],
20-
["number", "4.87E103"]
22+
["number", "4.87E103"],
23+
["number", "0b10101110"],
24+
["number", "0xabcdef02"]
2125
]
2226

2327
----------------------------------------------------

0 commit comments

Comments
 (0)