Initial commit.

Signed-off-by: Andreas Widen <aw@luflow.net>
This commit is contained in:
Andreas Widen 2026-07-27 17:57:03 +02:00
commit a4a5c7daa5
Signed by: hfsoulz
GPG key ID: 5B85F9B5F576A667
1389 changed files with 241399 additions and 0 deletions

View file

@ -0,0 +1,148 @@
/*! `ceylon` grammar compiled for Highlight.js 11.11.1 */
var hljsGrammar = (function () {
'use strict';
/*
Language: Ceylon
Author: Lucas Werkmeister <mail@lucaswerkmeister.de>
Website: https://ceylon-lang.org
Category: system
*/
/** @type LanguageFn */
function ceylon(hljs) {
// 2.3. Identifiers and keywords
const 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
const DECLARATION_MODIFIERS = [
"shared",
"abstract",
"formal",
"default",
"actual",
"variable",
"late",
"native",
"deprecated",
"final",
"sealed",
"annotation",
"suppressWarnings",
"small"
];
// 7.4.2 Documentation
const DOCUMENTATION = [
"doc",
"by",
"license",
"see",
"throws",
"tagged"
];
const SUBST = {
className: 'subst',
excludeBegin: true,
excludeEnd: true,
begin: /``/,
end: /``/,
keywords: KEYWORDS,
relevance: 10
};
const 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 {
name: 'Ceylon',
keywords: {
keyword: KEYWORDS.concat(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)
};
}
return ceylon;
})();
;
export default hljsGrammar;