-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathcypher.json
More file actions
164 lines (164 loc) · 5.48 KB
/
Copy pathcypher.json
File metadata and controls
164 lines (164 loc) · 5.48 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Cypher",
"patterns": [
{
"include": "#strings"
},
{
"include": "#comments"
},
{
"include": "#parameters"
},
{
"include": "#constants"
},
{
"include": "#properties"
},
{
"include": "#labels"
},
{
"include": "#callables"
},
{
"include": "#keywords"
},
{
"include": "#variables"
}
],
"repository": {
"keywords": {
"patterns": [
{
"match": "&|\\||:|::|\\/|\\$|\\.|\\.\\.|\\|\\||=|!|>=|>|<=|<|-|<>|!=|%|\\+|\\+=|\\^|\\?|=~|\\*",
"name": "keyword.operator"
},
{
"match": "(?i)\\b(ACCESS|ACTIVE|ADD|ADMIN|ADMINISTRATOR|ALIAS|ALIASES|ALL|ALLREDUCE|allShortestPaths|ALTER|AND|ANY|ARRAY|AS|ASC|ASCENDING|ASSIGN|AT|AUTH|BINDINGS|BOOL|BOOLEAN|BOOSTED|BOTH|BREAK|BUILT|BY|CALL|CASCADE|CASE|CIDR|CHANGE|COLLECT|COMMAND|COMMANDS|COMPOSITE|CONDITION|CONSTRAINT|CONSTRAINTS|CONTAINS|CONTINUE|COPY|COSINE|COUNT|CREATE|CREDENTIAL|CSV|CONCURRENT|CURRENT|DATA|DATABASE|DATABASES|DATE|DATETIME|DBMS|DEALLOCATE|DEFAULT|DEFINE|DEFINED|DELETE|DENY|DESC|DESCENDING|DESTROY|DETACH|DIFFERENT|DISTINCT|DOT|DRIVER|DROP|DRYRUN|DUMP|DURATION|EACH|EDGE|ELEMENT|ELEMENTS|ELSE|ENABLE|ENABLED|ENCRYPTED|END|ENDS|ERROR|EUCLIDEAN|EUCLIDEAN_SQUARED|EXECUTABLE|EXECUTE|EXIST|EXISTENCE|EXISTS|EXTENDED_IDENTIFIER|FAIL|FALSE|FIELDTERMINATOR|FILTER|FINISH|FLOAT|FLOAT32|FLOAT64|FOR|FOREACH|FORWARDING|FROM|FULLTEXT|FUNCTION|FUNCTIONS|GRANT|GRAPH|GRAPHS|GROUP|GROUPS|HAMMING|HEADERS|HOME|ID|IF|IMMUTABLE|IMPERSONATE|IMPLIES|IN|INDEX|INDEXES|INF|INFINITY|INSERT|INT|INT8|INT16|INT32|INT64|INTEGER|INTEGER8|INTEGER16|INTEGER32|INTEGER64|IS|JOIN|KEY|LABEL|LABELED|LABELS|LANGUAGE|LEADING|LET|LIMIT|LIST|LOAD|LOCAL|LOOKUP|MANAGEMENT|MANHATTAN|MAP|MATCH|MERGE|NAME|NAMES|NAN|NEW|NEXT|NFC|NFD|NFKC|NFKD|NODE|NODETACH|NODES|NONE|NORMALIZE|NORMALIZED|NOT|NOTHING|NOWAIT|NULL|OF|OFFSET|OIDC|ON|ONLY|OPTION|OPTIONAL|OPTIONS|OR|ORDER|PASSWORD|PASSWORDS|PATH|PATHS|PLAINTEXT|POINT|POPULATED|PRIMARY|PRIMARIES|PRIVILEGE|PRIVILEGES|PROCEDURE|PROCEDURES|PROPERTIES|PROPERTY|PROPERTY_EXISTS|PROVIDER|PROVIDERS|RANGE|READ|REALLOCATE|REDUCE|REL|RELATIONSHIP|RELATIONSHIPS|REMOVE|RENAME|REPEATABLE|REPLACE|REPLICA|REPLICAS|REPORT|REQUIRE|REQUIRED|RESTRICT|RETRY|RETURN|REVOKE|ROLE|ROLES|ROW|ROWS|RULE|RULES|SCAN|SCORE|SEARCH|SECONDARY|SECONDARIES|SEC|SECOND|SECONDS|SEEK|SERVER|SERVERS|SET|SETTING|SETTINGS|SHARD|SHARDS|SHORTEST|shortestPath|SHOW|SIGNED|SINGLE|SKIP|START|STARTS|STATUS|STOP|VARCHAR|STRING|SUPPORTED|SUSPENDED|TARGET|TERMINATE|TEXT|THEN|TIME|TIMESTAMP|TIMEZONE|TO|TOPOLOGY|TRAILING|TRANSACTION|TRANSACTIONS|TRAVERSE|TRIM|TRUE|TYPE|TYPED|TYPES|UNION|UNIQUE|UNIQUENESS|UNWIND|URL|USE|USER|USERS|USING|VALUE|VECTOR|VECTOR_DISTANCE|VECTOR_NORM|VERTEX|WAIT|WHEN|WHERE|WITH|WITHOUT|WRITE|XOR|YIELD|ZONE|ZONED|EXPLAIN|PROFILE|CYPHER)\\b",
"name": "keyword"
}
]
},
"strings": {
"patterns": [
{
"begin": "'",
"end": "'",
"name": "string.quoted.single",
"patterns": [
{
"match": "\\\\(?:.|$)",
"name": "constant.character.escape"
}
]
},
{
"begin": "\"",
"end": "\"",
"name": "string.quoted.double",
"patterns": [
{
"match": "\\\\(?:.|$)",
"name": "constant.character.escape"
}
]
}
]
},
"comments": {
"patterns": [
{
"begin": "//",
"end": "$",
"name": "comment.line"
},
{
"begin": "/\\*",
"end": "\\*/",
"name": "comment.block"
}
]
},
"labels": {
"begin": "(?<!\\{.*)\\:",
"end": "(\\s|\\`.+?\\`|\\w|&|\\||\\(.+?\\)|\\!)+",
"beginCaptures": {
"0": {
"name": "keyword.operator"
}
},
"endCaptures": {
"0": {
"patterns": [
{
"match": "[&|!]",
"name": "keyword.operator"
},
{
"match": "\\`.+?\\`|\\w+",
"name": "entity.name.class"
}
]
}
}
},
"properties": {
"begin": "\\.",
"end": "\\w+",
"beginCaptures": {
"0": {
"name": "keyword.operator"
}
},
"endCaptures": {
"0": {
"patterns": [
{
"match": "\\w*[a-zA-Z]\\w*",
"name": "variable.property"
},
{
"include": "#constants"
}
]
}
}
},
"constants": {
"patterns": [
{
"match": "\\b\\d*(\\.)?\\d+\\b",
"name": "constant.numeric"
},
{
"match": "(?i)\\b(TRUE|FALSE)\\b",
"name": "constant.numeric"
}
]
},
"callables": {
"match": "(?i:(?!\\b(match|and|or|xor)\\b))(((\\`\\w+\\`|\\w+)(\\s*\\.\\s*(\\`\\w+\\`|\\w+))*)|(\\`\\w+(\\s*\\.\\s*\\w+)*\\`))\\s*\\(",
"name": "entity.name.function"
},
"parameters": {
"match": "(\\$)(\\w+)",
"captures": {
"1": {
"name": "entity.name.namespace"
},
"2": {
"name": "variable"
}
}
},
"variables": {
"match": "\\w+",
"name": "variable"
}
},
"scopeName": "source.cypher"
}