{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/ceylon.js"],"names":["module","exports","hljs","KEYWORDS","SUBST","className","excludeBegin","excludeEnd","begin","end","keywords","relevance","EXPRESSIONS","contains","name","keyword","meta","illegal","C_LINE_COMMENT_MODE","COMMENT","concat"],"mappings":"gFAgEAA,EAAOC,QAzDP,SAAgBC,GAEd,IAAIC,EAAW,iRAKXC,EAAQ,CACVC,UAAW,QACXC,cAAc,EACdC,YAAY,EACZC,MAAO,KACPC,IAAK,KACLC,SAAUP,EACVQ,UAAW,IAETC,EAAc,CAAC,CAEjBP,UAAW,SACXG,MAAO,MACPC,IAAK,MACLE,UAAW,IACV,CAEDN,UAAW,SACXG,MAAO,IACPC,IAAK,IACLI,SAAU,CAACT,IACV,CAEDC,UAAW,SACXG,MAAO,IACPC,IAAK,KACJ,CAEDJ,UAAW,SACXG,MAAO,gFACPG,UAAW,IAGb,OADAP,EAAMS,SAAWD,EACV,CACLE,KAAM,SACNJ,SAAU,CACRK,QAASZ,0HACTa,KAtCgB,oCAwClBC,QAAS,yBACTJ,SAAU,CAACX,EAAKgB,oBAAqBhB,EAAKiB,QAAQ,OAAQ,OAAQ,CAChEN,SAAU,CAAC,UACT,CAEFR,UAAW,OACXG,MAAO,8BACNY,OAAOR","file":"react-syntax-highlighter_languages_highlight_ceylon-2dba0d1da018a41d3430.js","sourcesContent":["/*\nLanguage: Ceylon\nAuthor: Lucas Werkmeister <mail@lucaswerkmeister.de>\nWebsite: https://ceylon-lang.org\n*/\n\n/** @type LanguageFn */\nfunction ceylon(hljs) {\n  // 2.3. Identifiers and keywords\n  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\n\n  var DECLARATION_MODIFIERS = 'shared abstract formal default actual variable late native deprecated ' + 'final sealed annotation suppressWarnings small'; // 7.4.2 Documentation\n\n  var DOCUMENTATION = 'doc by license see throws tagged';\n  var SUBST = {\n    className: 'subst',\n    excludeBegin: true,\n    excludeEnd: true,\n    begin: /``/,\n    end: /``/,\n    keywords: KEYWORDS,\n    relevance: 10\n  };\n  var EXPRESSIONS = [{\n    // verbatim string\n    className: 'string',\n    begin: '\"\"\"',\n    end: '\"\"\"',\n    relevance: 10\n  }, {\n    // string literal or template\n    className: 'string',\n    begin: '\"',\n    end: '\"',\n    contains: [SUBST]\n  }, {\n    // character literal\n    className: 'string',\n    begin: \"'\",\n    end: \"'\"\n  }, {\n    // numeric literal\n    className: 'number',\n    begin: '#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?',\n    relevance: 0\n  }];\n  SUBST.contains = EXPRESSIONS;\n  return {\n    name: 'Ceylon',\n    keywords: {\n      keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS,\n      meta: DOCUMENTATION\n    },\n    illegal: '\\\\$[^01]|#[^0-9a-fA-F]',\n    contains: [hljs.C_LINE_COMMENT_MODE, hljs.COMMENT('/\\\\*', '\\\\*/', {\n      contains: ['self']\n    }), {\n      // compiler annotation\n      className: 'meta',\n      begin: '@[a-z]\\\\w*(?:\\\\:\\\"[^\\\"]*\\\")?'\n    }].concat(EXPRESSIONS)\n  };\n}\n\nmodule.exports = ceylon;"],"sourceRoot":""}