blob: 01dd7cd1ecfabeb3ba28307db93d23828371f3f5 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/crystal.js"],"names":["module","exports","hljs","INT_SUFFIX","CRYSTAL_METHOD_RE","CRYSTAL_KEYWORDS","$pattern","keyword","literal","SUBST","className","begin","end","keywords","EXPANSION","variants","recursiveParen","contains","STRING","BACKSLASH_ESCAPE","relevance","Q_STRING","REGEXP","RE_STARTERS_RE","CRYSTAL_DEFAULT_CONTAINS","inherit","QUOTE_STRING_MODE","HASH_COMMENT_MODE","beginKeywords","illegal","TITLE_MODE","endsParent","UNDERSCORE_IDENT_RE","slice","name","aliases"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_crystal-4ce99432f32ff61cda3f.js","sourcesContent":["/*\nLanguage: Crystal\nAuthor: TSUYUSATO Kitsune <make.just.on@gmail.com>\nWebsite: https://crystal-lang.org\n*/\n\n/** @type LanguageFn */\nfunction crystal(hljs) {\n var INT_SUFFIX = '(_*[ui](8|16|32|64|128))?';\n var FLOAT_SUFFIX = '(_*f(32|64))?';\n var CRYSTAL_IDENT_RE = '[a-zA-Z_]\\\\w*[!?=]?';\n var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\\\*\\\\*|\\\\[\\\\][=?]?';\n var CRYSTAL_PATH_RE = '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?';\n var CRYSTAL_KEYWORDS = {\n $pattern: CRYSTAL_IDENT_RE,\n 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__',\n literal: 'false nil true'\n };\n var SUBST = {\n className: 'subst',\n begin: '#{',\n end: '}',\n keywords: CRYSTAL_KEYWORDS\n };\n var EXPANSION = {\n className: 'template-variable',\n variants: [{\n begin: '\\\\{\\\\{',\n end: '\\\\}\\\\}'\n }, {\n begin: '\\\\{%',\n end: '%\\\\}'\n }],\n keywords: CRYSTAL_KEYWORDS\n };\n\n function recursiveParen(begin, end) {\n var contains = [{\n begin: begin,\n end: end\n }];\n contains[0].contains = contains;\n return contains;\n }\n\n var STRING = {\n className: 'string',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: /'/,\n end: /'/\n }, {\n begin: /\"/,\n end: /\"/\n }, {\n begin: /`/,\n end: /`/\n }, {\n begin: '%[Qwi]?\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n }, {\n begin: '%[Qwi]?\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n }, {\n begin: '%[Qwi]?{',\n end: '}',\n contains: recursiveParen('{', '}')\n }, {\n begin: '%[Qwi]?<',\n end: '>',\n contains: recursiveParen('<', '>')\n }, {\n begin: '%[Qwi]?\\\\|',\n end: '\\\\|'\n }, {\n begin: /<<-\\w+$/,\n end: /^\\s*\\w+$/\n }],\n relevance: 0\n };\n var Q_STRING = {\n className: 'string',\n variants: [{\n begin: '%q\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n }, {\n begin: '%q\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n }, {\n begin: '%q{',\n end: '}',\n contains: recursiveParen('{', '}')\n }, {\n begin: '%q<',\n end: '>',\n contains: recursiveParen('<', '>')\n }, {\n begin: '%q\\\\|',\n end: '\\\\|'\n }, {\n begin: /<<-'\\w+'$/,\n end: /^\\s*\\w+$/\n }],\n relevance: 0\n };\n var REGEXP = {\n begin: '(?!%})(' + hljs.RE_STARTERS_RE + '|\\\\n|\\\\b(case|if|select|unless|until|when|while)\\\\b)\\\\s*',\n keywords: 'case if select unless until when while',\n contains: [{\n className: 'regexp',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: '//[a-z]*',\n relevance: 0\n }, {\n begin: '/(?!\\\\/)',\n end: '/[a-z]*'\n }]\n }],\n relevance: 0\n };\n var REGEXP2 = {\n className: 'regexp',\n contains: [hljs.BACKSLASH_ESCAPE, SUBST],\n variants: [{\n begin: '%r\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n }, {\n begin: '%r\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n }, {\n begin: '%r{',\n end: '}',\n contains: recursiveParen('{', '}')\n }, {\n begin: '%r<',\n end: '>',\n contains: recursiveParen('<', '>')\n }, {\n begin: '%r\\\\|',\n end: '\\\\|'\n }],\n relevance: 0\n };\n var ATTRIBUTE = {\n className: 'meta',\n begin: '@\\\\[',\n end: '\\\\]',\n contains: [hljs.inherit(hljs.QUOTE_STRING_MODE, {\n className: 'meta-string'\n })]\n };\n var CRYSTAL_DEFAULT_CONTAINS = [EXPANSION, STRING, Q_STRING, REGEXP2, REGEXP, ATTRIBUTE, hljs.HASH_COMMENT_MODE, {\n className: 'class',\n beginKeywords: 'class module struct',\n end: '$|;',\n illegal: /=/,\n contains: [hljs.HASH_COMMENT_MODE, hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n }), {\n begin: '<'\n } // relevance booster for inheritance\n ]\n }, {\n className: 'class',\n beginKeywords: 'lib enum union',\n end: '$|;',\n illegal: /=/,\n contains: [hljs.HASH_COMMENT_MODE, hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })],\n relevance: 10\n }, {\n beginKeywords: 'annotation',\n end: '$|;',\n illegal: /=/,\n contains: [hljs.HASH_COMMENT_MODE, hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_PATH_RE\n })],\n relevance: 10\n }, {\n className: 'function',\n beginKeywords: 'def',\n end: /\\B\\b/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })]\n }, {\n className: 'function',\n beginKeywords: 'fun macro',\n end: /\\B\\b/,\n contains: [hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })],\n relevance: 5\n }, {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(\\\\!|\\\\?)?:',\n relevance: 0\n }, {\n className: 'symbol',\n begin: ':',\n contains: [STRING, {\n begin: CRYSTAL_METHOD_RE\n }],\n relevance: 0\n }, {\n className: 'number',\n variants: [{\n begin: '\\\\b0b([01_]+)' + INT_SUFFIX\n }, {\n begin: '\\\\b0o([0-7_]+)' + INT_SUFFIX\n }, {\n begin: '\\\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX\n }, {\n begin: '\\\\b([1-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)'\n }, {\n begin: '\\\\b([1-9][0-9_]*|0)' + INT_SUFFIX\n }],\n relevance: 0\n }];\n SUBST.contains = CRYSTAL_DEFAULT_CONTAINS;\n EXPANSION.contains = CRYSTAL_DEFAULT_CONTAINS.slice(1); // without EXPANSION\n\n return {\n name: 'Crystal',\n aliases: ['cr'],\n keywords: CRYSTAL_KEYWORDS,\n contains: CRYSTAL_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = crystal;"],"sourceRoot":""}