aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/ceylon.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/ceylon.js')
-rw-r--r--node_modules/highlight.js/lib/languages/ceylon.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/ceylon.js b/node_modules/highlight.js/lib/languages/ceylon.js
new file mode 100644
index 000000000..eb59f16d8
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/ceylon.js
@@ -0,0 +1,66 @@
+module.exports = function(hljs) {
+ // 2.3. Identifiers and keywords
+ var KEYWORDS =
+ 'assembly module package import alias class interface object given value ' +
+ 'assign void function new of extends satisfies abstracts in out return ' +
+ 'break continue throw assert dynamic if else switch case for while try ' +
+ 'catch finally then let this outer super is exists nonempty';
+ // 7.4.1 Declaration Modifiers
+ var DECLARATION_MODIFIERS =
+ 'shared abstract formal default actual variable late native deprecated' +
+ 'final sealed annotation suppressWarnings small';
+ // 7.4.2 Documentation
+ var DOCUMENTATION =
+ 'doc by license see throws tagged';
+ var SUBST = {
+ className: 'subst', excludeBegin: true, excludeEnd: true,
+ begin: /``/, end: /``/,
+ keywords: KEYWORDS,
+ relevance: 10
+ };
+ var EXPRESSIONS = [
+ {
+ // verbatim string
+ className: 'string',
+ begin: '"""',
+ end: '"""',
+ relevance: 10
+ },
+ {
+ // string literal or template
+ className: 'string',
+ begin: '"', end: '"',
+ contains: [SUBST]
+ },
+ {
+ // character literal
+ className: 'string',
+ begin: "'",
+ end: "'"
+ },
+ {
+ // numeric literal
+ className: 'number',
+ begin: '#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?',
+ relevance: 0
+ }
+ ];
+ SUBST.contains = EXPRESSIONS;
+
+ return {
+ keywords: {
+ keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,
+ meta: DOCUMENTATION
+ },
+ illegal: '\\$[^01]|#[^0-9a-fA-F]',
+ contains: [
+ hljs.C_LINE_COMMENT_MODE,
+ hljs.COMMENT('/\\*', '\\*/', {contains: ['self']}),
+ {
+ // compiler annotation
+ className: 'meta',
+ begin: '@[a-z]\\w*(?:\\:\"[^\"]*\")?'
+ }
+ ].concat(EXPRESSIONS)
+ };
+}; \ No newline at end of file