diff options
Diffstat (limited to 'node_modules/highlight.js/lib/languages/ceylon.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/ceylon.js | 66 |
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 |