xref: /vim-8.2.3635/runtime/syntax/n1ql.vim (revision c572da5f)
1*c572da5fSBram Moolenaar" Vim syntax file
2*c572da5fSBram Moolenaar" Language:    N1QL / Couchbase Server
3*c572da5fSBram Moolenaar" Maintainer:  Eugene Ciurana <n1ql AT cime.net>
4*c572da5fSBram Moolenaar" Version:     1.0
5*c572da5fSBram Moolenaar" Source:      https://github.com/pr3d4t0r/n1ql-vim-syntax
6*c572da5fSBram Moolenaar"
7*c572da5fSBram Moolenaar" License:     Vim is Charityware.  n1ql.vim syntax is Charityware.
8*c572da5fSBram Moolenaar"              (c) Copyright 2017 by Eugene Ciurana / pr3d4t0r.  Licensed
9*c572da5fSBram Moolenaar"              under the standard VIM LICENSE - Vim command :help uganda.txt
10*c572da5fSBram Moolenaar"              for details.
11*c572da5fSBram Moolenaar"
12*c572da5fSBram Moolenaar" Questions, comments:  <n1ql AT cime.net>
13*c572da5fSBram Moolenaar"                       https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r
14*c572da5fSBram Moolenaar"
15*c572da5fSBram Moolenaar" vim: set fileencoding=utf-8:
16*c572da5fSBram Moolenaar
17*c572da5fSBram Moolenaar
18*c572da5fSBram Moolenaarif exists("b:current_syntax")
19*c572da5fSBram Moolenaar  finish
20*c572da5fSBram Moolenaarendif
21*c572da5fSBram Moolenaar
22*c572da5fSBram Moolenaar
23*c572da5fSBram Moolenaarsyn case ignore
24*c572da5fSBram Moolenaar
25*c572da5fSBram Moolenaarsyn keyword n1qlSpecial DATASTORES
26*c572da5fSBram Moolenaarsyn keyword n1qlSpecial DUAL
27*c572da5fSBram Moolenaarsyn keyword n1qlSpecial FALSE
28*c572da5fSBram Moolenaarsyn keyword n1qlSpecial INDEXES
29*c572da5fSBram Moolenaarsyn keyword n1qlSpecial KEYSPACES
30*c572da5fSBram Moolenaarsyn keyword n1qlSpecial MISSING
31*c572da5fSBram Moolenaarsyn keyword n1qlSpecial NAMESPACES
32*c572da5fSBram Moolenaarsyn keyword n1qlSpecial NULL
33*c572da5fSBram Moolenaarsyn keyword n1qlSpecial TRUE
34*c572da5fSBram Moolenaar
35*c572da5fSBram Moolenaar
36*c572da5fSBram Moolenaar"
37*c572da5fSBram Moolenaar" *** keywords ***
38*c572da5fSBram Moolenaar"
39*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ALL
40*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ANY
41*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ASC
42*c572da5fSBram Moolenaarsyn keyword n1qlKeyword BEGIN
43*c572da5fSBram Moolenaarsyn keyword n1qlKeyword BETWEEN
44*c572da5fSBram Moolenaarsyn keyword n1qlKeyword BREAK
45*c572da5fSBram Moolenaarsyn keyword n1qlKeyword BUCKET
46*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CALL
47*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CASE
48*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CAST
49*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CLUSTER
50*c572da5fSBram Moolenaarsyn keyword n1qlKeyword COLLATE
51*c572da5fSBram Moolenaarsyn keyword n1qlKeyword COLLECTION
52*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CONNECT
53*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CONTINUE
54*c572da5fSBram Moolenaarsyn keyword n1qlKeyword CORRELATE
55*c572da5fSBram Moolenaarsyn keyword n1qlKeyword COVER
56*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DATABASE
57*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DATASET
58*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DATASTORE
59*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DECLARE
60*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DECREMENT
61*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DERIVED
62*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DESC
63*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DESCRIBE
64*c572da5fSBram Moolenaarsyn keyword n1qlKeyword DO
65*c572da5fSBram Moolenaarsyn keyword n1qlKeyword EACH
66*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ELEMENT
67*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ELSE
68*c572da5fSBram Moolenaarsyn keyword n1qlKeyword END
69*c572da5fSBram Moolenaarsyn keyword n1qlKeyword EVERY
70*c572da5fSBram Moolenaarsyn keyword n1qlKeyword EXCLUDE
71*c572da5fSBram Moolenaarsyn keyword n1qlKeyword EXISTS
72*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FETCH
73*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FIRST
74*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FLATTEN
75*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FOR
76*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FORCE
77*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FROM
78*c572da5fSBram Moolenaarsyn keyword n1qlKeyword FUNCTION
79*c572da5fSBram Moolenaarsyn keyword n1qlKeyword GROUP
80*c572da5fSBram Moolenaarsyn keyword n1qlKeyword GSI
81*c572da5fSBram Moolenaarsyn keyword n1qlKeyword HAVING
82*c572da5fSBram Moolenaarsyn keyword n1qlKeyword IF
83*c572da5fSBram Moolenaarsyn keyword n1qlKeyword IGNORE
84*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INCLUDE
85*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INCREMENT
86*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INDEX
87*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INITIAL
88*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INLINE
89*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INNER
90*c572da5fSBram Moolenaarsyn keyword n1qlKeyword INTO
91*c572da5fSBram Moolenaarsyn keyword n1qlKeyword KEY
92*c572da5fSBram Moolenaarsyn keyword n1qlKeyword KEYS
93*c572da5fSBram Moolenaarsyn keyword n1qlKeyword KEYSPACE
94*c572da5fSBram Moolenaarsyn keyword n1qlKeyword KNOWN
95*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LAST
96*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LET
97*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LETTING
98*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LIMIT
99*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LOOP
100*c572da5fSBram Moolenaarsyn keyword n1qlKeyword LSM
101*c572da5fSBram Moolenaarsyn keyword n1qlKeyword MAP
102*c572da5fSBram Moolenaarsyn keyword n1qlKeyword MAPPING
103*c572da5fSBram Moolenaarsyn keyword n1qlKeyword MATCHED
104*c572da5fSBram Moolenaarsyn keyword n1qlKeyword MATERIALIZED
105*c572da5fSBram Moolenaarsyn keyword n1qlKeyword MERGE
106*c572da5fSBram Moolenaarsyn keyword n1qlKeyword NAMESPACE
107*c572da5fSBram Moolenaarsyn keyword n1qlKeyword NEST
108*c572da5fSBram Moolenaarsyn keyword n1qlKeyword OPTION
109*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ORDER
110*c572da5fSBram Moolenaarsyn keyword n1qlKeyword OUTER
111*c572da5fSBram Moolenaarsyn keyword n1qlKeyword OVER
112*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PARSE
113*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PARTITION
114*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PASSWORD
115*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PATH
116*c572da5fSBram Moolenaarsyn keyword n1qlKeyword POOL
117*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PRIMARY
118*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PRIVATE
119*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PRIVILEGE
120*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PROCEDURE
121*c572da5fSBram Moolenaarsyn keyword n1qlKeyword PUBLIC
122*c572da5fSBram Moolenaarsyn keyword n1qlKeyword REALM
123*c572da5fSBram Moolenaarsyn keyword n1qlKeyword REDUCE
124*c572da5fSBram Moolenaarsyn keyword n1qlKeyword RETURN
125*c572da5fSBram Moolenaarsyn keyword n1qlKeyword RETURNING
126*c572da5fSBram Moolenaarsyn keyword n1qlKeyword ROLE
127*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SATISFIES
128*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SCHEMA
129*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SELF
130*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SEMI
131*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SHOW
132*c572da5fSBram Moolenaarsyn keyword n1qlKeyword START
133*c572da5fSBram Moolenaarsyn keyword n1qlKeyword STATISTICS
134*c572da5fSBram Moolenaarsyn keyword n1qlKeyword SYSTEM
135*c572da5fSBram Moolenaarsyn keyword n1qlKeyword THEN
136*c572da5fSBram Moolenaarsyn keyword n1qlKeyword TRANSACTION
137*c572da5fSBram Moolenaarsyn keyword n1qlKeyword TRIGGER
138*c572da5fSBram Moolenaarsyn keyword n1qlKeyword UNDER
139*c572da5fSBram Moolenaarsyn keyword n1qlKeyword UNKNOWN
140*c572da5fSBram Moolenaarsyn keyword n1qlKeyword UNSET
141*c572da5fSBram Moolenaarsyn keyword n1qlKeyword USE
142*c572da5fSBram Moolenaarsyn keyword n1qlKeyword USER
143*c572da5fSBram Moolenaarsyn keyword n1qlKeyword USING
144*c572da5fSBram Moolenaarsyn keyword n1qlKeyword VALIDATE
145*c572da5fSBram Moolenaarsyn keyword n1qlKeyword VALUE
146*c572da5fSBram Moolenaarsyn keyword n1qlKeyword VALUED
147*c572da5fSBram Moolenaarsyn keyword n1qlKeyword VALUES
148*c572da5fSBram Moolenaarsyn keyword n1qlKeyword VIEW
149*c572da5fSBram Moolenaarsyn keyword n1qlKeyword WHEN
150*c572da5fSBram Moolenaarsyn keyword n1qlKeyword WHERE
151*c572da5fSBram Moolenaarsyn keyword n1qlKeyword WHILE
152*c572da5fSBram Moolenaarsyn keyword n1qlKeyword WITHIN
153*c572da5fSBram Moolenaarsyn keyword n1qlKeyword WORK
154*c572da5fSBram Moolenaar
155*c572da5fSBram Moolenaar
156*c572da5fSBram Moolenaar"
157*c572da5fSBram Moolenaar" *** functions ***
158*c572da5fSBram Moolenaar"
159*c572da5fSBram Moolenaarsyn keyword n1qlOperator ABS
160*c572da5fSBram Moolenaarsyn keyword n1qlOperator ACOS
161*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_AGG
162*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_APPEND
163*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_AVG
164*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_CONCAT
165*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_CONTAINS
166*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_COUNT
167*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_DISTINCT
168*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_FLATTEN
169*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_IFNULL
170*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_INSERT
171*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_INTERSECT
172*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_LENGTH
173*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_MAX
174*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_MIN
175*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_POSITION
176*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_PREPEND
177*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_PUT
178*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_RANGE
179*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_REMOVE
180*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_REPEAT
181*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_REPLACE
182*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_REVERSE
183*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_SORT
184*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_START
185*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_SUM
186*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_SYMDIFF
187*c572da5fSBram Moolenaarsyn keyword n1qlOperator ARRAY_UNION
188*c572da5fSBram Moolenaarsyn keyword n1qlOperator ASIN
189*c572da5fSBram Moolenaarsyn keyword n1qlOperator ATAN
190*c572da5fSBram Moolenaarsyn keyword n1qlOperator ATAN2
191*c572da5fSBram Moolenaarsyn keyword n1qlOperator AVG
192*c572da5fSBram Moolenaarsyn keyword n1qlOperator BASE64
193*c572da5fSBram Moolenaarsyn keyword n1qlOperator BASE64_DECODE
194*c572da5fSBram Moolenaarsyn keyword n1qlOperator BASE64_ENCODE
195*c572da5fSBram Moolenaarsyn keyword n1qlOperator CEIL
196*c572da5fSBram Moolenaarsyn keyword n1qlOperator CLOCK_LOCAL
197*c572da5fSBram Moolenaarsyn keyword n1qlOperator CLOCK_STR
198*c572da5fSBram Moolenaarsyn keyword n1qlOperator CLOCK_TZ
199*c572da5fSBram Moolenaarsyn keyword n1qlOperator CLOCK_UTC
200*c572da5fSBram Moolenaarsyn keyword n1qlOperator CLOCL_MILLIS
201*c572da5fSBram Moolenaarsyn keyword n1qlOperator CONTAINS
202*c572da5fSBram Moolenaarsyn keyword n1qlOperator COS
203*c572da5fSBram Moolenaarsyn keyword n1qlOperator COUNT
204*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_ADD_MILLIS
205*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_ADD_STR
206*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_DIFF_MILLIS
207*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_DIFF_STR
208*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_FORMAT_STR
209*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_PART_MILLIS
210*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_PART_STR
211*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_RANGE_MILLIS
212*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_RANGE_STR
213*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_TRUC_STR
214*c572da5fSBram Moolenaarsyn keyword n1qlOperator DATE_TRUNC_MILLIS
215*c572da5fSBram Moolenaarsyn keyword n1qlOperator DECODE_JSON
216*c572da5fSBram Moolenaarsyn keyword n1qlOperator DEGREES
217*c572da5fSBram Moolenaarsyn keyword n1qlOperator DURATION_TO_STR
218*c572da5fSBram Moolenaarsyn keyword n1qlOperator E
219*c572da5fSBram Moolenaarsyn keyword n1qlOperator ENCODED_SIZE
220*c572da5fSBram Moolenaarsyn keyword n1qlOperator ENCODE_JSON
221*c572da5fSBram Moolenaarsyn keyword n1qlOperator EXP
222*c572da5fSBram Moolenaarsyn keyword n1qlOperator FLOOR
223*c572da5fSBram Moolenaarsyn keyword n1qlOperator GREATEST
224*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFINF
225*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFMISSING
226*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFMISSINGORNULL
227*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFNAN
228*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFNANORINF
229*c572da5fSBram Moolenaarsyn keyword n1qlOperator IFNULL
230*c572da5fSBram Moolenaarsyn keyword n1qlOperator INITCAP
231*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISARRAY
232*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISATOM
233*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISBOOLEAN
234*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISNUMBER
235*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISOBJECT
236*c572da5fSBram Moolenaarsyn keyword n1qlOperator ISSTRING
237*c572da5fSBram Moolenaarsyn keyword n1qlOperator LEAST
238*c572da5fSBram Moolenaarsyn keyword n1qlOperator LENGTH
239*c572da5fSBram Moolenaarsyn keyword n1qlOperator LN
240*c572da5fSBram Moolenaarsyn keyword n1qlOperator LOG
241*c572da5fSBram Moolenaarsyn keyword n1qlOperator LOWER
242*c572da5fSBram Moolenaarsyn keyword n1qlOperator LTRIM
243*c572da5fSBram Moolenaarsyn keyword n1qlOperator MAX
244*c572da5fSBram Moolenaarsyn keyword n1qlOperator META
245*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS
246*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS_TO_LOCAL
247*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS_TO_STR
248*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS_TO_TZ
249*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS_TO_UTC
250*c572da5fSBram Moolenaarsyn keyword n1qlOperator MILLIS_TO_ZONE_NAME
251*c572da5fSBram Moolenaarsyn keyword n1qlOperator MIN
252*c572da5fSBram Moolenaarsyn keyword n1qlOperator MISSINGIF
253*c572da5fSBram Moolenaarsyn keyword n1qlOperator NANIF
254*c572da5fSBram Moolenaarsyn keyword n1qlOperator NEGINFIF
255*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOW_LOCAL
256*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOW_MILLIS
257*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOW_STR
258*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOW_TZ
259*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOW_UTC
260*c572da5fSBram Moolenaarsyn keyword n1qlOperator NULLIF
261*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_ADD
262*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_CONCAT
263*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_INNER_PAIRS
264*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_INNER_VALUES
265*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_LENGTH
266*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_NAMES
267*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_PAIRS
268*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_PUT
269*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_REMOVE
270*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_RENAME
271*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_REPLACE
272*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_UNWRAP
273*c572da5fSBram Moolenaarsyn keyword n1qlOperator OBJECT_VALUES
274*c572da5fSBram Moolenaarsyn keyword n1qlOperator PI
275*c572da5fSBram Moolenaarsyn keyword n1qlOperator POLY_LENGTH
276*c572da5fSBram Moolenaarsyn keyword n1qlOperator POSINIF
277*c572da5fSBram Moolenaarsyn keyword n1qlOperator POSITION
278*c572da5fSBram Moolenaarsyn keyword n1qlOperator POWER
279*c572da5fSBram Moolenaarsyn keyword n1qlOperator RADIANS
280*c572da5fSBram Moolenaarsyn keyword n1qlOperator RANDOM
281*c572da5fSBram Moolenaarsyn keyword n1qlOperator REGEXP_CONTAINS
282*c572da5fSBram Moolenaarsyn keyword n1qlOperator REGEXP_LIKE
283*c572da5fSBram Moolenaarsyn keyword n1qlOperator REGEXP_POSITION
284*c572da5fSBram Moolenaarsyn keyword n1qlOperator REGEXP_REPLACE
285*c572da5fSBram Moolenaarsyn keyword n1qlOperator REPEAT
286*c572da5fSBram Moolenaarsyn keyword n1qlOperator REPLACE
287*c572da5fSBram Moolenaarsyn keyword n1qlOperator REVERSE
288*c572da5fSBram Moolenaarsyn keyword n1qlOperator ROUND
289*c572da5fSBram Moolenaarsyn keyword n1qlOperator RTRIM
290*c572da5fSBram Moolenaarsyn keyword n1qlOperator SIGN
291*c572da5fSBram Moolenaarsyn keyword n1qlOperator SIN
292*c572da5fSBram Moolenaarsyn keyword n1qlOperator SPLIT
293*c572da5fSBram Moolenaarsyn keyword n1qlOperator SQRT
294*c572da5fSBram Moolenaarsyn keyword n1qlOperator STR_TO_DURATION
295*c572da5fSBram Moolenaarsyn keyword n1qlOperator STR_TO_MILLIS
296*c572da5fSBram Moolenaarsyn keyword n1qlOperator STR_TO_TZ
297*c572da5fSBram Moolenaarsyn keyword n1qlOperator STR_TO_UTC
298*c572da5fSBram Moolenaarsyn keyword n1qlOperator STR_TO_ZONE_NAME
299*c572da5fSBram Moolenaarsyn keyword n1qlOperator SUBSTR
300*c572da5fSBram Moolenaarsyn keyword n1qlOperator SUFFIXES
301*c572da5fSBram Moolenaarsyn keyword n1qlOperator SUM
302*c572da5fSBram Moolenaarsyn keyword n1qlOperator TAN
303*c572da5fSBram Moolenaarsyn keyword n1qlOperator TITLE
304*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOARRAY
305*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOATOM
306*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOBOOLEAN
307*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOKENS
308*c572da5fSBram Moolenaarsyn keyword n1qlOperator TONUMBER
309*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOOBJECT
310*c572da5fSBram Moolenaarsyn keyword n1qlOperator TOSTRING
311*c572da5fSBram Moolenaarsyn keyword n1qlOperator TRIM
312*c572da5fSBram Moolenaarsyn keyword n1qlOperator TRUNC
313*c572da5fSBram Moolenaarsyn keyword n1qlOperator TYPE
314*c572da5fSBram Moolenaarsyn keyword n1qlOperator UPPER
315*c572da5fSBram Moolenaarsyn keyword n1qlOperator UUID
316*c572da5fSBram Moolenaarsyn keyword n1qlOperator WEEKDAY_MILLIS
317*c572da5fSBram Moolenaarsyn keyword n1qlOperator WEEKDAY_STR
318*c572da5fSBram Moolenaar
319*c572da5fSBram Moolenaar
320*c572da5fSBram Moolenaar"
321*c572da5fSBram Moolenaar" *** operators ***
322*c572da5fSBram Moolenaar"
323*c572da5fSBram Moolenaarsyn keyword n1qlOperator AND
324*c572da5fSBram Moolenaarsyn keyword n1qlOperator AS
325*c572da5fSBram Moolenaarsyn keyword n1qlOperator BY
326*c572da5fSBram Moolenaarsyn keyword n1qlOperator DISTINCT
327*c572da5fSBram Moolenaarsyn keyword n1qlOperator EXCEPT
328*c572da5fSBram Moolenaarsyn keyword n1qlOperator ILIKE
329*c572da5fSBram Moolenaarsyn keyword n1qlOperator IN
330*c572da5fSBram Moolenaarsyn keyword n1qlOperator INTERSECT
331*c572da5fSBram Moolenaarsyn keyword n1qlOperator IS
332*c572da5fSBram Moolenaarsyn keyword n1qlOperator JOIN
333*c572da5fSBram Moolenaarsyn keyword n1qlOperator LEFT
334*c572da5fSBram Moolenaarsyn keyword n1qlOperator LIKE
335*c572da5fSBram Moolenaarsyn keyword n1qlOperator MINUS
336*c572da5fSBram Moolenaarsyn keyword n1qlOperator NEST
337*c572da5fSBram Moolenaarsyn keyword n1qlOperator NESTING
338*c572da5fSBram Moolenaarsyn keyword n1qlOperator NOT
339*c572da5fSBram Moolenaarsyn keyword n1qlOperator OFFSET
340*c572da5fSBram Moolenaarsyn keyword n1qlOperator ON
341*c572da5fSBram Moolenaarsyn keyword n1qlOperator OR
342*c572da5fSBram Moolenaarsyn keyword n1qlOperator OUT
343*c572da5fSBram Moolenaarsyn keyword n1qlOperator RIGHT
344*c572da5fSBram Moolenaarsyn keyword n1qlOperator SOME
345*c572da5fSBram Moolenaarsyn keyword n1qlOperator TO
346*c572da5fSBram Moolenaarsyn keyword n1qlOperator UNION
347*c572da5fSBram Moolenaarsyn keyword n1qlOperator UNIQUE
348*c572da5fSBram Moolenaarsyn keyword n1qlOperator UNNEST
349*c572da5fSBram Moolenaarsyn keyword n1qlOperator VIA
350*c572da5fSBram Moolenaarsyn keyword n1qlOperator WITH
351*c572da5fSBram Moolenaarsyn keyword n1qlOperator XOR
352*c572da5fSBram Moolenaar
353*c572da5fSBram Moolenaar
354*c572da5fSBram Moolenaar"
355*c572da5fSBram Moolenaar" *** statements ***
356*c572da5fSBram Moolenaar"
357*c572da5fSBram Moolenaarsyn keyword n1qlStatement ALTER
358*c572da5fSBram Moolenaarsyn keyword n1qlStatement ANALYZE
359*c572da5fSBram Moolenaarsyn keyword n1qlStatement BUILD
360*c572da5fSBram Moolenaarsyn keyword n1qlStatement COMMIT
361*c572da5fSBram Moolenaarsyn keyword n1qlStatement CREATE
362*c572da5fSBram Moolenaarsyn keyword n1qlStatement DELETE
363*c572da5fSBram Moolenaarsyn keyword n1qlStatement DROP
364*c572da5fSBram Moolenaarsyn keyword n1qlStatement EXECUTE
365*c572da5fSBram Moolenaarsyn keyword n1qlStatement EXPLAIN
366*c572da5fSBram Moolenaarsyn keyword n1qlStatement GRANT
367*c572da5fSBram Moolenaarsyn keyword n1qlStatement INFER
368*c572da5fSBram Moolenaarsyn keyword n1qlStatement INSERT
369*c572da5fSBram Moolenaarsyn keyword n1qlStatement MERGE
370*c572da5fSBram Moolenaarsyn keyword n1qlStatement PREPARE
371*c572da5fSBram Moolenaarsyn keyword n1qlStatement RENAME
372*c572da5fSBram Moolenaarsyn keyword n1qlStatement REVOKE
373*c572da5fSBram Moolenaarsyn keyword n1qlStatement ROLLBACK
374*c572da5fSBram Moolenaarsyn keyword n1qlStatement SELECT
375*c572da5fSBram Moolenaarsyn keyword n1qlStatement SET
376*c572da5fSBram Moolenaarsyn keyword n1qlStatement TRUNCATE
377*c572da5fSBram Moolenaarsyn keyword n1qlStatement UPDATE
378*c572da5fSBram Moolenaarsyn keyword n1qlStatement UPSERT
379*c572da5fSBram Moolenaar
380*c572da5fSBram Moolenaar
381*c572da5fSBram Moolenaar"
382*c572da5fSBram Moolenaar" *** types ***
383*c572da5fSBram Moolenaar"
384*c572da5fSBram Moolenaarsyn keyword n1qlType ARRAY
385*c572da5fSBram Moolenaarsyn keyword n1qlType BINARY
386*c572da5fSBram Moolenaarsyn keyword n1qlType BOOLEAN
387*c572da5fSBram Moolenaarsyn keyword n1qlType NUMBER
388*c572da5fSBram Moolenaarsyn keyword n1qlType OBJECT
389*c572da5fSBram Moolenaarsyn keyword n1qlType RAW
390*c572da5fSBram Moolenaarsyn keyword n1qlType STRING
391*c572da5fSBram Moolenaar
392*c572da5fSBram Moolenaar
393*c572da5fSBram Moolenaar"
394*c572da5fSBram Moolenaar" *** strings and characters ***
395*c572da5fSBram Moolenaar"
396*c572da5fSBram Moolenaarsyn region n1qlString start=+"+  skip=+\\\\\|\\"+  end=+"+
397*c572da5fSBram Moolenaarsyn region n1qlString start=+'+  skip=+\\\\\|\\'+  end=+'+
398*c572da5fSBram Moolenaarsyn region n1qlBucketSpec start=+`+  skip=+\\\\\|\\'+  end=+`+
399*c572da5fSBram Moolenaar
400*c572da5fSBram Moolenaar
401*c572da5fSBram Moolenaar"
402*c572da5fSBram Moolenaar" *** numbers ***
403*c572da5fSBram Moolenaar"
404*c572da5fSBram Moolenaarsyn match n1qlNumber        "-\=\<\d*\.\=[0-9_]\>"
405*c572da5fSBram Moolenaar
406*c572da5fSBram Moolenaar
407*c572da5fSBram Moolenaar"
408*c572da5fSBram Moolenaar" *** comments ***
409*c572da5fSBram Moolenaar"
410*c572da5fSBram Moolenaarsyn region n1qlComment start="/\*"  end="\*/" contains=n1qlTODO
411*c572da5fSBram Moolenaarsyn match n1qlComment  "--.*$" contains=n1qlTODO
412*c572da5fSBram Moolenaarsyn sync ccomment      n1qlComment
413*c572da5fSBram Moolenaar
414*c572da5fSBram Moolenaar
415*c572da5fSBram Moolenaar"
416*c572da5fSBram Moolenaar" *** TODO ***
417*c572da5fSBram Moolenaar"
418*c572da5fSBram Moolenaarsyn keyword n1qlTODO contained TODO FIXME XXX DEBUG NOTE
419*c572da5fSBram Moolenaar
420*c572da5fSBram Moolenaar
421*c572da5fSBram Moolenaar"
422*c572da5fSBram Moolenaar" *** enable ***
423*c572da5fSBram Moolenaar"
424*c572da5fSBram Moolenaarhi def link n1qlBucketSpec Underlined
425*c572da5fSBram Moolenaarhi def link n1qlComment    Comment
426*c572da5fSBram Moolenaarhi def link n1qlKeyword    Macro
427*c572da5fSBram Moolenaarhi def link n1qlOperator   Function
428*c572da5fSBram Moolenaarhi def link n1qlSpecial    Special
429*c572da5fSBram Moolenaarhi def link n1qlStatement  Statement
430*c572da5fSBram Moolenaarhi def link n1qlString     String
431*c572da5fSBram Moolenaarhi def link n1qlTODO       Todo
432*c572da5fSBram Moolenaarhi def link n1qlType       Type
433*c572da5fSBram Moolenaar
434*c572da5fSBram Moolenaarlet b:current_syntax = "n1ql"
435