@@ -292,10 +292,11 @@ export const language = <languages.IMonarchLanguage>{
292292 'EXP' ,
293293 'CEIL' ,
294294 'CEILING' ,
295- 'FLOOR' ,
296295 'SIN' ,
297296 'SINH' ,
297+ 'SQRT' ,
298298 'COS' ,
299+ 'MOD' ,
299300 'TAN' ,
300301 'TANH' ,
301302 'COT' ,
@@ -335,6 +336,7 @@ export const language = <languages.IMonarchLanguage>{
335336 'CONCAT' ,
336337 'CONCAT_WS' ,
337338 'LPAD' ,
339+ 'RIGHT' ,
338340 'RPAD' ,
339341 'FROM_BASE64' ,
340342 'TO_BASE64' ,
@@ -343,6 +345,7 @@ export const language = <languages.IMonarchLanguage>{
343345 'DECODE' ,
344346 'ENCODE' ,
345347 'INSTR' ,
348+ 'LEFT' ,
346349 'LOCATE' ,
347350 'PARSE_URL' ,
348351 'REGEXP' ,
@@ -375,23 +378,30 @@ export const language = <languages.IMonarchLanguage>{
375378 'TO_TIMESTAMP_LTZ' ,
376379 'TO_TIMESTAMP' ,
377380 'CURRENT_WATERMARK' ,
381+ 'OVERLAPS' ,
378382 // Conditional Functions
379383 'COALESCE' ,
384+ 'GREATEST' ,
380385 'IF' ,
381386 'IFNULL' ,
382387 'IS_ALPHA' ,
383388 'IS_DECIMAL' ,
384389 'IS_DIGIT' ,
385- 'GREATEST' ,
386390 'LEAST' ,
391+ 'NULLIF' ,
387392 // Type Conversion Functions
388393 'CAST' ,
389394 'TRY_CAST' ,
390395 'TYPEOF' ,
391396 // Collection Functions
392397 'CARDINALITY' ,
393398 'ELEMENT' ,
399+ 'array' ,
400+ 'map' ,
394401 'ARRAY_CONTAINS' ,
402+ // comparison function
403+ 'EXISTS' ,
404+ 'IN' ,
395405 // JSON Functions
396406 'JSON_EXISTS' ,
397407 'JSON_STRING' ,
@@ -404,14 +414,15 @@ export const language = <languages.IMonarchLanguage>{
404414 // Grouping Functions
405415 'GROUP_ID' ,
406416 'GROUPING' ,
417+ 'GROUPING_ID' ,
407418 // Hash Functions
408419 'MD5' ,
409420 'SHA1' ,
421+ 'SHA2' ,
410422 'SHA224' ,
411423 'SHA256' ,
412424 'SHA384' ,
413425 'SHA512' ,
414- 'SHA2' ,
415426 // Aggregate Functions
416427 'COUNT' ,
417428 'AVG' ,
@@ -459,14 +470,14 @@ export const language = <languages.IMonarchLanguage>{
459470 'TIME' ,
460471 'TIMESTAMP' ,
461472 'TIMESTAMP_LTZ' ,
462- 'INTERVAL' ,
463473 'ARRAY' ,
464474 'MULTISET' ,
465475 'MAP' ,
466476 'ROW' ,
467477 'RAW' ,
468478 'DEC' ,
469479 'NUMERIC' ,
480+ 'INT' ,
470481 'INTERVAL'
471482 ] ,
472483 scopeKeywords : [ 'CASE' , 'END' , 'WHEN' , 'THEN' , 'ELSE' ] ,
@@ -483,6 +494,7 @@ export const language = <languages.IMonarchLanguage>{
483494 { include : '@complexIdentifiers' } ,
484495 { include : '@scopes' } ,
485496 { include : '@complexDataTypes' } ,
497+ { include : '@complexFunctions' } ,
486498 [ / [ ; , . ] / , TokenClassConsts . DELIMITER ] ,
487499 [ / [ \( \) \[ \] \{ \} ] / , '@brackets' ] ,
488500 [
@@ -550,6 +562,10 @@ export const language = <languages.IMonarchLanguage>{
550562 [ / D O U B L E \s + P R E C I S I O N \b / i, { token : TokenClassConsts . TYPE } ] ,
551563 [ / W I T H O U T \s + T I M E \s + Z O N E \b / i, { token : TokenClassConsts . TYPE } ] ,
552564 [ / 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 } ]
553569 ]
554570 }
555571} ;
0 commit comments