{"version":3,"file":"zephir.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/zephir.js"],"sourcesContent":["/*\n Language: Zephir\n Description: Zephir, an open source, high-level language designed to ease the creation and maintainability of extensions for PHP with a focus on type and memory safety.\n Author: Oleg Efimov <efimovov@gmail.com>\n Website: https://zephir-lang.com/en\n Category: web\n Audit: 2020\n */\n\n/** @type LanguageFn */\nfunction zephir(hljs) {\n  const STRING = {\n    className: 'string',\n    contains: [ hljs.BACKSLASH_ESCAPE ],\n    variants: [\n      hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null }),\n      hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null })\n    ]\n  };\n  const TITLE_MODE = hljs.UNDERSCORE_TITLE_MODE;\n  const NUMBER = { variants: [\n    hljs.BINARY_NUMBER_MODE,\n    hljs.C_NUMBER_MODE\n  ] };\n  const KEYWORDS =\n    // classes and objects\n    'namespace class interface use extends '\n    + 'function return '\n    + 'abstract final public protected private static deprecated '\n    // error handling\n    + 'throw try catch Exception '\n    // keyword-ish things their website does NOT seem to highlight (in their own snippets)\n    // 'typeof fetch in ' +\n    // operators/helpers\n    + 'echo empty isset instanceof unset '\n    // assignment/variables\n    + 'let var new const self '\n    // control\n    + 'require '\n    + 'if else elseif switch case default '\n    + 'do while loop for continue break '\n    + 'likely unlikely '\n    // magic constants\n    // https://github.com/phalcon/zephir/blob/master/Library/Expression/Constants.php\n    + '__LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ '\n    // types - https://docs.zephir-lang.com/0.12/en/types\n    + 'array boolean float double integer object resource string '\n    + 'char long unsigned bool int uint ulong uchar '\n    // built-ins\n    + 'true false null undefined';\n\n  return {\n    name: 'Zephir',\n    aliases: [ 'zep' ],\n    keywords: KEYWORDS,\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.COMMENT(\n        /\\/\\*/,\n        /\\*\\//,\n        { contains: [\n          {\n            className: 'doctag',\n            begin: /@[A-Za-z]+/\n          }\n        ] }\n      ),\n      {\n        className: 'string',\n        begin: /<<<['\"]?\\w+['\"]?$/,\n        end: /^\\w+;/,\n        contains: [ hljs.BACKSLASH_ESCAPE ]\n      },\n      {\n        // swallow composed identifiers to avoid parsing them as keywords\n        begin: /(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/ },\n      {\n        className: 'function',\n        beginKeywords: 'function fn',\n        end: /[;{]/,\n        excludeEnd: true,\n        illegal: /\\$|\\[|%/,\n        contains: [\n          TITLE_MODE,\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            keywords: KEYWORDS,\n            contains: [\n              'self',\n              hljs.C_BLOCK_COMMENT_MODE,\n              STRING,\n              NUMBER\n            ]\n          }\n        ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class interface',\n        end: /\\{/,\n        excludeEnd: true,\n        illegal: /[:($\"]/,\n        contains: [\n          { beginKeywords: 'extends implements' },\n          TITLE_MODE\n        ]\n      },\n      {\n        beginKeywords: 'namespace',\n        end: /;/,\n        illegal: /[.']/,\n        contains: [ TITLE_MODE ]\n      },\n      {\n        beginKeywords: 'use',\n        end: /;/,\n        contains: [ TITLE_MODE ]\n      },\n      { begin: /=>/ // No markup, just a relevance booster\n      },\n      STRING,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = zephir;\n"],"names":["zephir","hljs","STRING","TITLE_MODE","NUMBER","KEYWORDS","zephir_1"],"mappings":";;;;AAUA,WAASA,EAAOC,GAAM;AACpB,UAAMC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,UAAU,CAAED,EAAK,gBAAgB;AAAA,MACjC,UAAU;AAAA,QACRA,EAAK,QAAQA,EAAK,kBAAkB,EAAE,SAAS,MAAM;AAAA,QACrDA,EAAK,QAAQA,EAAK,mBAAmB,EAAE,SAAS,KAAI,CAAE;AAAA;IAE5D,GACQE,IAAaF,EAAK,uBAClBG,IAAS,EAAE,UAAU;AAAA,MACzBH,EAAK;AAAA,MACLA,EAAK;AAAA,IACT,EAAG,GACKI;AAAA;AAAA,MAEJ;AAAA;AAyBF,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAE,KAAK;AAAA,MAChB,UAAUA;AAAA,MACV,UAAU;AAAA,QACRJ,EAAK;AAAA,QACLA,EAAK;AAAA,UACH;AAAA,UACA;AAAA,UACA,EAAE,UAAU;AAAA,YACV;AAAA,cACE,WAAW;AAAA,cACX,OAAO;AAAA;UAEnB,EAAS;AAAA;QAEH;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,UAAU,CAAEA,EAAK,gBAAgB;AAAA;QAEnC;AAAA;AAAA,UAEE,OAAO;AAAA,QAAkD;AAAA,QAC3D;AAAA,UACE,WAAW;AAAA,UACX,eAAe;AAAA,UACf,KAAK;AAAA,UACL,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,UAAU;AAAA,YACRE;AAAA,YACA;AAAA,cACE,WAAW;AAAA,cACX,OAAO;AAAA,cACP,KAAK;AAAA,cACL,UAAUE;AAAA,cACV,UAAU;AAAA,gBACR;AAAA,gBACAJ,EAAK;AAAA,gBACLC;AAAA,gBACAE;AAAA;;;;QAKR;AAAA,UACE,WAAW;AAAA,UACX,eAAe;AAAA,UACf,KAAK;AAAA,UACL,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,UAAU;AAAA,YACR,EAAE,eAAe,qBAAoB;AAAA,YACrCD;AAAA;;QAGJ;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAEA,CAAU;AAAA;QAExB;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,UAAU,CAAEA,CAAU;AAAA;QAExB;AAAA,UAAE,OAAO;AAAA;AAAA;QAETD;AAAA,QACAE;AAAA;IAEN;AAAA,EACA;AAEA,SAAAE,IAAiBN;;","x_google_ignoreList":[0]}