@@ -43,7 +43,6 @@ const NUMBER = {
4343 relevance : 0
4444} ;
4545
46-
4746hljs . registerLanguage ( 'eql' , function ( ) {
4847 return {
4948 case_insensitive : true , // language is case-insensitive
@@ -69,6 +68,100 @@ hljs.registerLanguage('eql', function() {
6968 }
7069} )
7170
71+ hljs . registerLanguage ( 'painless' , function ( ) {
72+ return {
73+ case_insensitive : true , // language is case-insensitive
74+ keywords : {
75+ keyword : 'where sequence sample untill and or not in in~' ,
76+ literal : [ 'false' , 'true' , 'null' ] ,
77+ 'subst' : 'add between cidrMatch concat divide endsWith indexOf length modulo multiply number startsWith string stringContains substring subtract'
78+ } ,
79+ contains : [
80+ hljs . QUOTE_STRING_MODE ,
81+ hljs . C_LINE_COMMENT_MODE ,
82+ {
83+ scope : "operator" , // (pathname: path1/path2/dothis) color #ab5656
84+ match : / (?: < | < = | = = | : | ! = | > = | > | l i k e ~ ? | r e g e x ~ ? ) / ,
85+ } ,
86+ {
87+ scope : "punctuation" , // (pathname: path1/path2/dothis) color #ab5656
88+ match : / (?: ! ? \[ | \] | \| ) / ,
89+ } ,
90+ NUMBER ,
91+
92+ ]
93+ }
94+ } )
95+
96+
97+ hljs . registerLanguage ( 'esql' , function ( ) {
98+ return {
99+ case_insensitive : true , // language is case-insensitive
100+ keywords : {
101+ keyword : 'FROM ROW SHOW DISSECT DROP ENRICH EVAL GROK KEEP LIMIT RENAME SORT STATS WHERE METADATA' ,
102+ literal : [ 'false' , 'true' , 'null' ] ,
103+ function : [
104+ // aggregate
105+ "AVG" , "COUNT" , "COUNT_DISTINCT" , "MAX" , "MEDIAN" , "MEDIAN_ABSOLUTE_DEVIATION" , "MIN" ,
106+ "PERCENTILE" , "SUM" , "TOP" , "VALUES" , "WEIGHTED_AVG" , "BUCKET" ,
107+
108+ // conditional
109+ "CASE" , "COALESCE" , "GREATEST" , "LEAST" ,
110+
111+ //Date
112+ "DATE_DIFF" , "DATE_EXTRACT" , "DATE_FORMAT" , "DATE_PARSE" , "DATE_TRUNC" , "NOW" ,
113+
114+ //ip
115+ "CIDR_MATCH" , "IP_PREFIX" ,
116+
117+ //math
118+ "ABS" , "ACOS" , "ASIN" , "ATAN" , "ATAN2" , "CBRT" , "CEIL" , "COS" , "COSH" , "E" , "EXP" , "FLOOR" ,
119+ "HYPOT" , "LOG" , "LOG10" , "PI" , "POW" , "ROUND" , "SIGNUM" , "SIN" , "SINH" , "SQRT" , "TAN" ,
120+ "TANH" , "TAU" ,
121+
122+ //search
123+ "MATCH" , "QSTR" ,
124+
125+ //spatial
126+ "ST_DISTANCE" , "ST_INTERSECTS" , "ST_DISJOINT" , "ST_CONTAINS" , "ST_WITHIN" , "ST_X" , "ST_Y" ,
127+
128+ //string
129+
130+ "BIT_LENGTH" , "BYTE_LENGTH" , "CONCAT" , "ENDS_WITH" , "FROM_BASE64" , "LEFT" , "LENGTH" , "LOCATE" ,
131+ "LTRIM" , "REPEAT" , "REPLACE" , "REVERSE" , "RIGHT" , "RTRIM" , "SPACE" , "SPLIT" , "STARTS_WITH" ,
132+ "SUBSTRING" , "TO_BASE64" , "TO_LOWER" , "TO_UPPER" , "TRIM" ,
133+
134+ //type conversion
135+ "TO_BOOLEAN" , "TO_CARTESIANPOINT" , "TO_CARTESIANSHAPE" , "TO_DATETIME" , "TO_DEGREES" ,
136+ "TO_DOUBLE" , "TO_GEOPOINT" , "TO_GEOSHAPE" , "TO_INTEGER" , "TO_IP" , "TO_LONG" , "TO_RADIANS" ,
137+ "TO_STRING" , "TO_VERSION" ,
138+
139+ //multivalued
140+ "MV_APPEND" , "MV_AVG" , "MV_CONCAT" , "MV_COUNT" , "MV_DEDUPE" , "MV_FIRST" , "MV_LAST" , "MV_MAX" ,
141+ "MV_MEDIAN" , "MV_MEDIAN_ABSOLUTE_DEVIATION" , "MV_MIN" , "MV_PERCENTILE" , "MV_PSERIES_WEIGHTED_SUM" ,
142+ "MV_SORT" , "MV_SLICE" , "MV_SUM" , "MV_ZIP" ,
143+
144+ "KQL"
145+ ]
146+ } ,
147+ contains : [
148+ hljs . QUOTE_STRING_MODE ,
149+ hljs . C_LINE_COMMENT_MODE ,
150+ {
151+ scope : "operator" , // (pathname: path1/path2/dothis) color #ab5656
152+ match : / (?: < | < = | = = | : : | \w + : | ! = | > = | > | L I K E | R L I K E | I S N U L L | I S N O T N U L L ) / ,
153+ } ,
154+ {
155+ scope : "punctuation" , // (pathname: path1/path2/dothis) color #ab5656
156+ match : / (?: ! ? \[ | \] | \| ) / ,
157+ } ,
158+ NUMBER ,
159+
160+ ]
161+ }
162+ } )
163+
164+
72165hljs . addPlugin ( mergeHTMLPlugin ) ;
73166export function initHighlight ( ) {
74167
0 commit comments