@@ -292,10 +292,11 @@ export const language = <languages.IMonarchLanguage>{
292
292
'EXP' ,
293
293
'CEIL' ,
294
294
'CEILING' ,
295
- 'FLOOR' ,
296
295
'SIN' ,
297
296
'SINH' ,
297
+ 'SQRT' ,
298
298
'COS' ,
299
+ 'MOD' ,
299
300
'TAN' ,
300
301
'TANH' ,
301
302
'COT' ,
@@ -335,6 +336,7 @@ export const language = <languages.IMonarchLanguage>{
335
336
'CONCAT' ,
336
337
'CONCAT_WS' ,
337
338
'LPAD' ,
339
+ 'RIGHT' ,
338
340
'RPAD' ,
339
341
'FROM_BASE64' ,
340
342
'TO_BASE64' ,
@@ -343,6 +345,7 @@ export const language = <languages.IMonarchLanguage>{
343
345
'DECODE' ,
344
346
'ENCODE' ,
345
347
'INSTR' ,
348
+ 'LEFT' ,
346
349
'LOCATE' ,
347
350
'PARSE_URL' ,
348
351
'REGEXP' ,
@@ -375,23 +378,30 @@ export const language = <languages.IMonarchLanguage>{
375
378
'TO_TIMESTAMP_LTZ' ,
376
379
'TO_TIMESTAMP' ,
377
380
'CURRENT_WATERMARK' ,
381
+ 'OVERLAPS' ,
378
382
// Conditional Functions
379
383
'COALESCE' ,
384
+ 'GREATEST' ,
380
385
'IF' ,
381
386
'IFNULL' ,
382
387
'IS_ALPHA' ,
383
388
'IS_DECIMAL' ,
384
389
'IS_DIGIT' ,
385
- 'GREATEST' ,
386
390
'LEAST' ,
391
+ 'NULLIF' ,
387
392
// Type Conversion Functions
388
393
'CAST' ,
389
394
'TRY_CAST' ,
390
395
'TYPEOF' ,
391
396
// Collection Functions
392
397
'CARDINALITY' ,
393
398
'ELEMENT' ,
399
+ 'ARRAY' ,
400
+ 'MAP' ,
394
401
'ARRAY_CONTAINS' ,
402
+ // comparison function
403
+ 'EXISTS' ,
404
+ 'IN' ,
395
405
// JSON Functions
396
406
'JSON_EXISTS' ,
397
407
'JSON_STRING' ,
@@ -404,14 +414,15 @@ export const language = <languages.IMonarchLanguage>{
404
414
// Grouping Functions
405
415
'GROUP_ID' ,
406
416
'GROUPING' ,
417
+ 'GROUPING_ID' ,
407
418
// Hash Functions
408
419
'MD5' ,
409
420
'SHA1' ,
421
+ 'SHA2' ,
410
422
'SHA224' ,
411
423
'SHA256' ,
412
424
'SHA384' ,
413
425
'SHA512' ,
414
- 'SHA2' ,
415
426
// Aggregate Functions
416
427
'COUNT' ,
417
428
'AVG' ,
@@ -459,14 +470,14 @@ export const language = <languages.IMonarchLanguage>{
459
470
'TIME' ,
460
471
'TIMESTAMP' ,
461
472
'TIMESTAMP_LTZ' ,
462
- 'INTERVAL' ,
463
473
'ARRAY' ,
464
474
'MULTISET' ,
465
475
'MAP' ,
466
476
'ROW' ,
467
477
'RAW' ,
468
478
'DEC' ,
469
479
'NUMERIC' ,
480
+ 'INT' ,
470
481
'INTERVAL'
471
482
] ,
472
483
scopeKeywords : [ 'CASE' , 'END' , 'WHEN' , 'THEN' , 'ELSE' ] ,
@@ -483,6 +494,7 @@ export const language = <languages.IMonarchLanguage>{
483
494
{ include : '@complexIdentifiers' } ,
484
495
{ include : '@scopes' } ,
485
496
{ include : '@complexDataTypes' } ,
497
+ { include : '@complexFunctions' } ,
486
498
[ / [ ; , . ] / , TokenClassConsts . DELIMITER ] ,
487
499
[ / [ \( \) \[ \] \{ \} ] / , '@brackets' ] ,
488
500
[
@@ -550,6 +562,10 @@ export const language = <languages.IMonarchLanguage>{
550
562
[ / D O U B L E \s + P R E C I S I O N \b / i, { token : TokenClassConsts . TYPE } ] ,
551
563
[ / W I T H O U T \s + T I M E \s + Z O N E \b / i, { token : TokenClassConsts . TYPE } ] ,
552
564
[ / W I T H \s + L O C A L \s + T I M E \s + Z O N E \b / i, { token : TokenClassConsts . TYPE } ]
565
+ ] ,
566
+ complexFunctions : [
567
+ [ / N O T \s + I N \b / i, { token : TokenClassConsts . PREDEFINED } ] ,
568
+ [ / I S \s + J S O N \b / i, { token : TokenClassConsts . PREDEFINED } ]
553
569
]
554
570
}
555
571
} ;
0 commit comments