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 23.3 kB
{"version":3,"file":"php.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/php.js"],"sourcesContent":["/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: 'meta',\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // <https://www.php.net/manual/en/language.constants.predefined.php>\n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // <https://www.php.net/manual/en/book.spl.php>\n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // <https://www.php.net/manual/en/reserved.interfaces.php>\n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // <https://www.php.net/manual/en/reserved.classes.php>\n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*/, PASCAL_CASE_CLASS_NAME_RE),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n match: PASCAL_CASE_CLASS_NAME_RE\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nmodule.exports = php;\n"],"names":["php","hljs","regex","NOT_PERL_ETC","IDENT_RE","PASCAL_CASE_CLASS_NAME_RE","VARIABLE","PREPROCESSOR","SUBST","SINGLE_QUOTED","DOUBLE_QUOTED","HEREDOC","m","resp","NOWDOC","WHITESPACE","STRING","NUMBER","LITERALS","KWS","BUILT_INS","KEYWORDS","items","result","item","normalizeKeywords","CONSTRUCTOR_CALL","CONSTANT_REFERENCE","LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON","NAMED_ARGUMENT","PARAMS_MODE","FUNCTION_INVOKE","ATTRIBUTE_CONTAINS","ATTRIBUTES","php_1"],"mappings":"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","x_google_ignoreList":[0]}