neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

n1ql.vim (12899B)


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