From 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 24 May 2017 15:10:37 +0200 Subject: fix build issues and add typedoc --- node_modules/highlight.js/lib/languages/xquery.js | 70 +++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 node_modules/highlight.js/lib/languages/xquery.js (limited to 'node_modules/highlight.js/lib/languages/xquery.js') diff --git a/node_modules/highlight.js/lib/languages/xquery.js b/node_modules/highlight.js/lib/languages/xquery.js new file mode 100644 index 000000000..7c6d567f7 --- /dev/null +++ b/node_modules/highlight.js/lib/languages/xquery.js @@ -0,0 +1,70 @@ +module.exports = function(hljs) { + var KEYWORDS = 'for let if while then else return where group by xquery encoding version' + + 'module namespace boundary-space preserve strip default collation base-uri ordering' + + 'copy-namespaces order declare import schema namespace function option in allowing empty' + + 'at tumbling window sliding window start when only end when previous next stable ascending' + + 'descending empty greatest least some every satisfies switch case typeswitch try catch and' + + 'or to union intersect instance of treat as castable cast map array delete insert into' + + 'replace value rename copy modify update'; + var LITERAL = 'false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute'; + var VAR = { + begin: /\$[a-zA-Z0-9\-]+/ + }; + + var NUMBER = { + className: 'number', + begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', + relevance: 0 + }; + + var STRING = { + className: 'string', + variants: [ + {begin: /"/, end: /"/, contains: [{begin: /""/, relevance: 0}]}, + {begin: /'/, end: /'/, contains: [{begin: /''/, relevance: 0}]} + ] + }; + + var ANNOTATION = { + className: 'meta', + begin: '%\\w+' + }; + + var COMMENT = { + className: 'comment', + begin: '\\(:', end: ':\\)', + relevance: 10, + contains: [ + { + className: 'doctag', begin: '@\\w+' + } + ] + }; + + var METHOD = { + begin: '{', end: '}' + }; + + var CONTAINS = [ + VAR, + STRING, + NUMBER, + COMMENT, + ANNOTATION, + METHOD + ]; + METHOD.contains = CONTAINS; + + + return { + aliases: ['xpath', 'xq'], + case_insensitive: false, + lexemes: /[a-zA-Z\$][a-zA-Z0-9_:\-]*/, + illegal: /(proc)|(abstract)|(extends)|(until)|(#)/, + keywords: { + keyword: KEYWORDS, + literal: LITERAL + }, + contains: CONTAINS + }; +}; \ No newline at end of file -- cgit v1.2.3