Skip to content

Commit 89a4522

Browse files
committed
Use @elastic/highlightjs-esql instead of custom implementation
1 parent bdc8210 commit 89a4522

File tree

3 files changed

+9
-169
lines changed

3 files changed

+9
-169
lines changed

src/Elastic.Documentation.Site/Assets/hljs.ts

Lines changed: 2 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import swift from 'highlight.js/lib/languages/swift'
3535
import typescript from 'highlight.js/lib/languages/typescript'
3636
import xml from 'highlight.js/lib/languages/xml'
3737
import yaml from 'highlight.js/lib/languages/yaml'
38+
import esql from '@elastic/highlightjs-esql'
3839
import { $$ } from 'select-dom'
3940

4041
const languages: Array<{
@@ -50,6 +51,7 @@ const languages: Array<{
5051
{ name: 'dockerfile', module: dockerfile },
5152
{ name: 'dos', module: dos },
5253
{ name: 'ebnf', module: ebnf },
54+
{ name: 'esql', module: esql },
5355
{ name: 'go', module: go },
5456
{ name: 'gradle', module: gradle },
5557
{ name: 'groovy', module: groovy },
@@ -163,175 +165,6 @@ hljs.registerLanguage('painless', function () {
163165
}
164166
})
165167

166-
hljs.registerLanguage('esql', function () {
167-
return {
168-
case_insensitive: true, // language is case-insensitive
169-
keywords: {
170-
keyword:
171-
'FROM ROW SHOW DISSECT DROP ENRICH EVAL GROK KEEP LIMIT LOOKUP JOIN MV_EXPAND RENAME SORT STATS WHERE METADATA CHANGE_POINT',
172-
literal: ['false', 'true', 'null'],
173-
function: [
174-
// aggregate
175-
'AVG',
176-
'COUNT',
177-
'COUNT_DISTINCT',
178-
'MAX',
179-
'MEDIAN',
180-
'MEDIAN_ABSOLUTE_DEVIATION',
181-
'MIN',
182-
'PERCENTILE',
183-
'ST_CENTROID_AGG',
184-
'ST_EXTENT_AGG',
185-
'STD_DEV',
186-
'SUM',
187-
'TOP',
188-
'VALUES',
189-
'WEIGHTED_AVG',
190-
// grouping
191-
'BUCKET',
192-
'CATEGORIZE',
193-
// conditional
194-
'CASE',
195-
'COALESCE',
196-
'GREATEST',
197-
'LEAST',
198-
//Date
199-
'DATE_DIFF',
200-
'DATE_EXTRACT',
201-
'DATE_FORMAT',
202-
'DATE_PARSE',
203-
'DATE_TRUNC',
204-
'NOW',
205-
//ip
206-
'CIDR_MATCH',
207-
'IP_PREFIX',
208-
//math
209-
'ABS',
210-
'ACOS',
211-
'ASIN',
212-
'ATAN',
213-
'ATAN2',
214-
'CBRT',
215-
'CEIL',
216-
'COS',
217-
'COSH',
218-
'E',
219-
'EXP',
220-
'FLOOR',
221-
'HYPOT',
222-
'LOG',
223-
'LOG10',
224-
'PI',
225-
'POW',
226-
'ROUND',
227-
'ROUND_TO',
228-
'SCALB',
229-
'SIGNUM',
230-
'SIN',
231-
'SINH',
232-
'SQRT',
233-
'TAN',
234-
'TANH',
235-
'TAU',
236-
//search
237-
'KQL',
238-
'MATCH',
239-
'QSTR',
240-
//spatial
241-
'ST_DISTANCE',
242-
'ST_INTERSECTS',
243-
'ST_DISJOINT',
244-
'ST_CONTAINS',
245-
'ST_WITHIN',
246-
'ST_X',
247-
'ST_Y',
248-
'ST_ENVELOPE',
249-
'ST_XMAX',
250-
'ST_XMIN',
251-
'ST_YMAX',
252-
'ST_YMIN',
253-
//string
254-
'BIT_LENGTH',
255-
'BYTE_LENGTH',
256-
'CONCAT',
257-
'ENDS_WITH',
258-
'FROM_BASE64',
259-
'HASH',
260-
'LEFT',
261-
'LENGTH',
262-
'LOCATE',
263-
'LTRIM',
264-
'MD5',
265-
'REPEAT',
266-
'REPLACE',
267-
'REVERSE',
268-
'RIGHT',
269-
'RTRIM',
270-
'SHA1',
271-
'SHA256',
272-
'SPACE',
273-
'SPLIT',
274-
'STARTS_WITH',
275-
'SUBSTRING',
276-
'TO_BASE64',
277-
'TO_LOWER',
278-
'TO_UPPER',
279-
'TRIM',
280-
//type conversion
281-
'TO_BOOLEAN',
282-
'TO_CARTESIANPOINT',
283-
'TO_CARTESIANSHAPE',
284-
'TO_DATEPERIOD',
285-
'TO_DATETIME',
286-
'TO_DATE_NANOS',
287-
'TO_DEGREES',
288-
'TO_DOUBLE',
289-
'TO_GEOPOINT',
290-
'TO_GEOSHAPE',
291-
'TO_INTEGER',
292-
'TO_IP',
293-
'TO_LONG',
294-
'TO_RADIANS',
295-
'TO_STRING',
296-
'TO_TIMEDURATION',
297-
'TO_UNSIGNED_LONG',
298-
'TO_VERSION',
299-
//multivalued
300-
'MV_APPEND',
301-
'MV_AVG',
302-
'MV_CONCAT',
303-
'MV_COUNT',
304-
'MV_DEDUPE',
305-
'MV_FIRST',
306-
'MV_LAST',
307-
'MV_MAX',
308-
'MV_MEDIAN',
309-
'MV_MEDIAN_ABSOLUTE_DEVIATION',
310-
'MV_MIN',
311-
'MV_PERCENTILE',
312-
'MV_PSERIES_WEIGHTED_SUM',
313-
'MV_SORT',
314-
'MV_SLICE',
315-
'MV_SUM',
316-
'MV_ZIP',
317-
],
318-
},
319-
contains: [
320-
hljs.QUOTE_STRING_MODE,
321-
hljs.C_LINE_COMMENT_MODE,
322-
{
323-
scope: 'operator', // (pathname: path1/path2/dothis) color #ab5656
324-
match: /(?:<|<=|==|::|\w+:|!=|>=|>|LIKE|RLIKE|IS NULL|IS NOT NULL)/,
325-
},
326-
{
327-
scope: 'punctuation', // (pathname: path1/path2/dothis) color #ab5656
328-
match: /(?:!?\[|\]|\|)/,
329-
},
330-
NUMBER,
331-
],
332-
}
333-
})
334-
335168
hljs.addPlugin(mergeHTMLPlugin)
336169

337170
// The unescaped HTML warning is caused by the mergeHTMLPlugin which we are using

src/Elastic.Documentation.Site/package-lock.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Elastic.Documentation.Site/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"defaults"
5353
],
5454
"dependencies": {
55+
"@elastic/highlightjs-esql": "1.1.0",
5556
"clipboard": "2.0.11",
5657
"highlight.js": "11.11.1",
5758
"htmx-ext-head-support": "2.0.4",

0 commit comments

Comments
 (0)