12345 |
- import { __commonJS } from './chunk-BS5JN4MX.js';
- var require_crystal=__commonJS({"../../node_modules/highlight.js/lib/languages/crystal.js"(exports,module){function crystal(hljs){let INT_SUFFIX="(_?[ui](8|16|32|64|128))?",FLOAT_SUFFIX="(_?f(32|64))?",CRYSTAL_IDENT_RE="[a-zA-Z_]\\w*[!?=]?",CRYSTAL_METHOD_RE="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",CRYSTAL_PATH_RE="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?",CRYSTAL_KEYWORDS={$pattern:CRYSTAL_IDENT_RE,keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},SUBST={className:"subst",begin:/#\{/,end:/\}/,keywords:CRYSTAL_KEYWORDS},EXPANSION={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:CRYSTAL_KEYWORDS};function recursiveParen(begin,end){let contains=[{begin,end}];return contains[0].contains=contains,contains}let STRING={className:"string",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%[Qwi]?\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:recursiveParen("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},Q_STRING={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%q\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%q<",end:">",contains:recursiveParen("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},REGEXP={begin:"(?!%\\})("+hljs.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*",keywords:"case if select unless until when while",contains:[{className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},REGEXP2={className:"regexp",contains:[hljs.BACKSLASH_ESCAPE,SUBST],variants:[{begin:"%r\\(",end:"\\)",contains:recursiveParen("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:recursiveParen("\\[","\\]")},{begin:"%r\\{",end:/\}/,contains:recursiveParen(/\{/,/\}/)},{begin:"%r<",end:">",contains:recursiveParen("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},ATTRIBUTE={className:"meta",begin:"@\\[",end:"\\]",contains:[hljs.inherit(hljs.QUOTE_STRING_MODE,{className:"meta-string"})]},CRYSTAL_DEFAULT_CONTAINS=[EXPANSION,STRING,Q_STRING,REGEXP2,REGEXP,ATTRIBUTE,hljs.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE})]},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[hljs.HASH_COMMENT_MODE,hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_PATH_RE})],relevance:2},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_METHOD_RE,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[hljs.inherit(hljs.TITLE_MODE,{begin:CRYSTAL_METHOD_RE,endsParent:!0})],relevance:2},{className:"symbol",begin:hljs.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[STRING,{begin:CRYSTAL_METHOD_RE}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+INT_SUFFIX},{begin:"\\b0o([0-7_]+)"+INT_SUFFIX},{begin:"\\b0x([A-Fa-f0-9_]+)"+INT_SUFFIX},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?"+FLOAT_SUFFIX+"(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+INT_SUFFIX}],relevance:0}];return SUBST.contains=CRYSTAL_DEFAULT_CONTAINS,EXPANSION.contains=CRYSTAL_DEFAULT_CONTAINS.slice(1),{name:"Crystal",aliases:["cr"],keywords:CRYSTAL_KEYWORDS,contains:CRYSTAL_DEFAULT_CONTAINS}}module.exports=crystal;}});var crystalBZHBB2UZ = require_crystal();
- export { crystalBZHBB2UZ as default };
|