aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/xquery.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/xquery.js')
-rw-r--r--node_modules/highlight.js/lib/languages/xquery.js70
1 files changed, 70 insertions, 0 deletions
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