UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

1 lines 12.1 kB
{"version":3,"file":"crystal.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/crystal.js"],"sourcesContent":["/*\nLanguage: Crystal\nAuthor: TSUYUSATO Kitsune <make.just.on@gmail.com>\nWebsite: https://crystal-lang.org\nCategory: system\n*/\n\n/** @type LanguageFn */\nfunction crystal(hljs) {\n const INT_SUFFIX = '(_?[ui](8|16|32|64|128))?';\n const FLOAT_SUFFIX = '(_?f(32|64))?';\n const CRYSTAL_IDENT_RE = '[a-zA-Z_]\\\\w*[!?=]?';\n const CRYSTAL_METHOD_RE = '[a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\\\*\\\\*|\\\\[\\\\][=?]?';\n const CRYSTAL_PATH_RE = '[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|!)?';\n const CRYSTAL_KEYWORDS = {\n $pattern: CRYSTAL_IDENT_RE,\n keyword:\n 'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if '\n + 'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? '\n + 'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield '\n + '__DIR__ __END_LINE__ __FILE__ __LINE__',\n literal: 'false nil true'\n };\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: CRYSTAL_KEYWORDS\n };\n // borrowed from Ruby\n const VARIABLE = {\n // negative-look forward attemps to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n };\n const EXPANSION = {\n className: 'template-variable',\n variants: [\n {\n begin: '\\\\{\\\\{',\n end: '\\\\}\\\\}'\n },\n {\n begin: '\\\\{%',\n end: '%\\\\}'\n }\n ],\n keywords: CRYSTAL_KEYWORDS\n };\n\n function recursiveParen(begin, end) {\n const\n contains = [\n {\n begin: begin,\n end: end\n }\n ];\n contains[0].contains = contains;\n return contains;\n }\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: '%[Qwi]?\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%[Qwi]?\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%[Qwi]?\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%[Qwi]?<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%[Qwi]?\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-\\w+$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const Q_STRING = {\n className: 'string',\n variants: [\n {\n begin: '%q\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%q\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%q\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%q<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%q\\\\|',\n end: '\\\\|'\n },\n {\n begin: /<<-'\\w+'$/,\n end: /^\\s*\\w+$/\n }\n ],\n relevance: 0\n };\n const 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 {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '//[a-z]*',\n relevance: 0\n },\n {\n begin: '/(?!\\\\/)',\n end: '/[a-z]*'\n }\n ]\n }\n ],\n relevance: 0\n };\n const REGEXP2 = {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: '%r\\\\(',\n end: '\\\\)',\n contains: recursiveParen('\\\\(', '\\\\)')\n },\n {\n begin: '%r\\\\[',\n end: '\\\\]',\n contains: recursiveParen('\\\\[', '\\\\]')\n },\n {\n begin: '%r\\\\{',\n end: /\\}/,\n contains: recursiveParen(/\\{/, /\\}/)\n },\n {\n begin: '%r<',\n end: '>',\n contains: recursiveParen('<', '>')\n },\n {\n begin: '%r\\\\|',\n end: '\\\\|'\n }\n ],\n relevance: 0\n };\n const ATTRIBUTE = {\n className: 'meta',\n begin: '@\\\\[',\n end: '\\\\]',\n contains: [ hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' }) ]\n };\n const CRYSTAL_DEFAULT_CONTAINS = [\n EXPANSION,\n STRING,\n Q_STRING,\n REGEXP2,\n REGEXP,\n ATTRIBUTE,\n VARIABLE,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class module struct',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, { begin: CRYSTAL_PATH_RE }),\n { // relevance booster for inheritance\n begin: '<' }\n ]\n },\n {\n className: 'class',\n beginKeywords: 'lib enum union',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, { begin: CRYSTAL_PATH_RE })\n ]\n },\n {\n beginKeywords: 'annotation',\n end: '$|;',\n illegal: /=/,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.inherit(hljs.TITLE_MODE, { begin: CRYSTAL_PATH_RE })\n ],\n relevance: 2\n },\n {\n className: 'function',\n beginKeywords: 'def',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ]\n },\n {\n className: 'function',\n beginKeywords: 'fun macro',\n end: /\\B\\b/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n begin: CRYSTAL_METHOD_RE,\n endsParent: true\n })\n ],\n relevance: 2\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':',\n contains: [\n STRING,\n { begin: CRYSTAL_METHOD_RE }\n ],\n relevance: 0\n },\n {\n className: 'number',\n variants: [\n { begin: '\\\\b0b([01_]+)' + INT_SUFFIX },\n { begin: '\\\\b0o([0-7_]+)' + INT_SUFFIX },\n { begin: '\\\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX },\n { begin: '\\\\b([1-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)' },\n { begin: '\\\\b([1-9][0-9_]*|0)' + INT_SUFFIX }\n ],\n relevance: 0\n }\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;\n"],"names":["crystal","hljs","INT_SUFFIX","FLOAT_SUFFIX","CRYSTAL_IDENT_RE","CRYSTAL_METHOD_RE","CRYSTAL_PATH_RE","CRYSTAL_KEYWORDS","SUBST","VARIABLE","EXPANSION","recursiveParen","begin","end","contains","STRING","Q_STRING","REGEXP","REGEXP2","ATTRIBUTE","CRYSTAL_DEFAULT_CONTAINS","crystal_1"],"mappings":"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","x_google_ignoreList":[0]}