var e, i;
function o() {
  if (i)
    return e;
  i = 1;
  function r(n) {
    const a = [
      "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"
    ], c = [
      "shared",
      "abstract",
      "formal",
      "default",
      "actual",
      "variable",
      "late",
      "native",
      "deprecated",
      "final",
      "sealed",
      "annotation",
      "suppressWarnings",
      "small"
    ], l = [
      "doc",
      "by",
      "license",
      "see",
      "throws",
      "tagged"
    ], s = {
      className: "subst",
      excludeBegin: !0,
      excludeEnd: !0,
      begin: /``/,
      end: /``/,
      keywords: a,
      relevance: 10
    }, t = [
      {
        // verbatim string
        className: "string",
        begin: '"""',
        end: '"""',
        relevance: 10
      },
      {
        // string literal or template
        className: "string",
        begin: '"',
        end: '"',
        contains: [s]
      },
      {
        // 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
      }
    ];
    return s.contains = t, {
      name: "Ceylon",
      keywords: {
        keyword: a.concat(c),
        meta: l
      },
      illegal: "\\$[^01]|#[^0-9a-fA-F]",
      contains: [
        n.C_LINE_COMMENT_MODE,
        n.COMMENT("/\\*", "\\*/", { contains: ["self"] }),
        {
          // compiler annotation
          className: "meta",
          begin: '@[a-z]\\w*(?::"[^"]*")?'
        }
      ].concat(t)
    };
  }
  return e = r, e;
}
export {
  o as __require
};
