{"version":3,"file":"delphi.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/delphi.js"],"sourcesContent":["/*\nLanguage: Delphi\nWebsite: https://www.embarcadero.com/products/delphi\nCategory: system\n*/\n\n/** @type LanguageFn */\nfunction delphi(hljs) {\n  const KEYWORDS = [\n    \"exports\",\n    \"register\",\n    \"file\",\n    \"shl\",\n    \"array\",\n    \"record\",\n    \"property\",\n    \"for\",\n    \"mod\",\n    \"while\",\n    \"set\",\n    \"ally\",\n    \"label\",\n    \"uses\",\n    \"raise\",\n    \"not\",\n    \"stored\",\n    \"class\",\n    \"safecall\",\n    \"var\",\n    \"interface\",\n    \"or\",\n    \"private\",\n    \"static\",\n    \"exit\",\n    \"index\",\n    \"inherited\",\n    \"to\",\n    \"else\",\n    \"stdcall\",\n    \"override\",\n    \"shr\",\n    \"asm\",\n    \"far\",\n    \"resourcestring\",\n    \"finalization\",\n    \"packed\",\n    \"virtual\",\n    \"out\",\n    \"and\",\n    \"protected\",\n    \"library\",\n    \"do\",\n    \"xorwrite\",\n    \"goto\",\n    \"near\",\n    \"function\",\n    \"end\",\n    \"div\",\n    \"overload\",\n    \"object\",\n    \"unit\",\n    \"begin\",\n    \"string\",\n    \"on\",\n    \"inline\",\n    \"repeat\",\n    \"until\",\n    \"destructor\",\n    \"write\",\n    \"message\",\n    \"program\",\n    \"with\",\n    \"read\",\n    \"initialization\",\n    \"except\",\n    \"default\",\n    \"nil\",\n    \"if\",\n    \"case\",\n    \"cdecl\",\n    \"in\",\n    \"downto\",\n    \"threadvar\",\n    \"of\",\n    \"try\",\n    \"pascal\",\n    \"const\",\n    \"external\",\n    \"constructor\",\n    \"type\",\n    \"public\",\n    \"then\",\n    \"implementation\",\n    \"finally\",\n    \"published\",\n    \"procedure\",\n    \"absolute\",\n    \"reintroduce\",\n    \"operator\",\n    \"as\",\n    \"is\",\n    \"abstract\",\n    \"alias\",\n    \"assembler\",\n    \"bitpacked\",\n    \"break\",\n    \"continue\",\n    \"cppdecl\",\n    \"cvar\",\n    \"enumerator\",\n    \"experimental\",\n    \"platform\",\n    \"deprecated\",\n    \"unimplemented\",\n    \"dynamic\",\n    \"export\",\n    \"far16\",\n    \"forward\",\n    \"generic\",\n    \"helper\",\n    \"implements\",\n    \"interrupt\",\n    \"iochecks\",\n    \"local\",\n    \"name\",\n    \"nodefault\",\n    \"noreturn\",\n    \"nostackframe\",\n    \"oldfpccall\",\n    \"otherwise\",\n    \"saveregisters\",\n    \"softfloat\",\n    \"specialize\",\n    \"strict\",\n    \"unaligned\",\n    \"varargs\"\n  ];\n  const COMMENT_MODES = [\n    hljs.C_LINE_COMMENT_MODE,\n    hljs.COMMENT(/\\{/, /\\}/, { relevance: 0 }),\n    hljs.COMMENT(/\\(\\*/, /\\*\\)/, { relevance: 10 })\n  ];\n  const DIRECTIVE = {\n    className: 'meta',\n    variants: [\n      {\n        begin: /\\{\\$/,\n        end: /\\}/\n      },\n      {\n        begin: /\\(\\*\\$/,\n        end: /\\*\\)/\n      }\n    ]\n  };\n  const STRING = {\n    className: 'string',\n    begin: /'/,\n    end: /'/,\n    contains: [ { begin: /''/ } ]\n  };\n  const NUMBER = {\n    className: 'number',\n    relevance: 0,\n    // Source: https://www.freepascal.org/docs-html/ref/refse6.html\n    variants: [\n      {\n        // Regular numbers, e.g., 123, 123.456.\n        match: /\\b\\d[\\d_]*(\\.\\d[\\d_]*)?/ },\n      {\n        // Hexadecimal notation, e.g., $7F.\n        match: /\\$[\\dA-Fa-f_]+/ },\n      {\n        // Hexadecimal literal with no digits\n        match: /\\$/,\n        relevance: 0 },\n      {\n        // Octal notation, e.g., &42.\n        match: /&[0-7][0-7_]*/ },\n      {\n        // Binary notation, e.g., %1010.\n        match: /%[01_]+/ },\n      {\n        // Binary literal with no digits\n        match: /%/,\n        relevance: 0 }\n    ]\n  };\n  const CHAR_STRING = {\n    className: 'string',\n    variants: [\n      { match: /#\\d[\\d_]*/ },\n      { match: /#\\$[\\dA-Fa-f][\\dA-Fa-f_]*/ },\n      { match: /#&[0-7][0-7_]*/ },\n      { match: /#%[01][01_]*/ }\n    ]\n  };\n  const CLASS = {\n    begin: hljs.IDENT_RE + '\\\\s*=\\\\s*class\\\\s*\\\\(',\n    returnBegin: true,\n    contains: [ hljs.TITLE_MODE ]\n  };\n  const FUNCTION = {\n    className: 'function',\n    beginKeywords: 'function constructor destructor procedure',\n    end: /[:;]/,\n    keywords: 'function constructor|10 destructor|10 procedure|10',\n    contains: [\n      hljs.TITLE_MODE,\n      {\n        className: 'params',\n        begin: /\\(/,\n        end: /\\)/,\n        keywords: KEYWORDS,\n        contains: [\n          STRING,\n          CHAR_STRING,\n          DIRECTIVE\n        ].concat(COMMENT_MODES)\n      },\n      DIRECTIVE\n    ].concat(COMMENT_MODES)\n  };\n  return {\n    name: 'Delphi',\n    aliases: [\n      'dpr',\n      'dfm',\n      'pas',\n      'pascal'\n    ],\n    case_insensitive: true,\n    keywords: KEYWORDS,\n    illegal: /\"|\\$[G-Zg-z]|\\/\\*|<\\/|\\|/,\n    contains: [\n      STRING,\n      CHAR_STRING,\n      NUMBER,\n      CLASS,\n      FUNCTION,\n      DIRECTIVE\n    ].concat(COMMENT_MODES)\n  };\n}\n\nmodule.exports = delphi;\n"],"names":["delphi","hljs","KEYWORDS","COMMENT_MODES","DIRECTIVE","STRING","NUMBER","CHAR_STRING","CLASS","FUNCTION","delphi_1"],"mappings":";;;;AAOA,WAASA,EAAOC,GAAM;AACpB,UAAMC,IAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GACQC,IAAgB;AAAA,MACpBF,EAAK;AAAA,MACLA,EAAK,QAAQ,MAAM,MAAM,EAAE,WAAW,GAAG;AAAA,MACzCA,EAAK,QAAQ,QAAQ,QAAQ,EAAE,WAAW,GAAE,CAAE;AAAA,IAClD,GACQG,IAAY;AAAA,MAChB,WAAW;AAAA,MACX,UAAU;AAAA,QACR;AAAA,UACE,OAAO;AAAA,UACP,KAAK;AAAA;QAEP;AAAA,UACE,OAAO;AAAA,UACP,KAAK;AAAA;;IAGb,GACQC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAU,CAAE,EAAE,OAAO,KAAI,CAAE;AAAA,IAC/B,GACQC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,UAAU;AAAA,QACR;AAAA;AAAA,UAEE,OAAO;AAAA,QAAyB;AAAA,QAClC;AAAA;AAAA,UAEE,OAAO;AAAA,QAAgB;AAAA,QACzB;AAAA;AAAA,UAEE,OAAO;AAAA,UACP,WAAW;AAAA,QAAC;AAAA,QACd;AAAA;AAAA,UAEE,OAAO;AAAA,QAAe;AAAA,QACxB;AAAA;AAAA,UAEE,OAAO;AAAA,QAAS;AAAA,QAClB;AAAA;AAAA,UAEE,OAAO;AAAA,UACP,WAAW;AAAA,QAAC;AAAA;IAEpB,GACQC,IAAc;AAAA,MAClB,WAAW;AAAA,MACX,UAAU;AAAA,QACR,EAAE,OAAO,YAAW;AAAA,QACpB,EAAE,OAAO,4BAA2B;AAAA,QACpC,EAAE,OAAO,iBAAgB;AAAA,QACzB,EAAE,OAAO,eAAc;AAAA;IAE7B,GACQC,IAAQ;AAAA,MACZ,OAAOP,EAAK,WAAW;AAAA,MACvB,aAAa;AAAA,MACb,UAAU,CAAEA,EAAK,UAAU;AAAA,IAC/B,GACQQ,IAAW;AAAA,MACf,WAAW;AAAA,MACX,eAAe;AAAA,MACf,KAAK;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,QACRR,EAAK;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,UAAUC;AAAA,UACV,UAAU;AAAA,YACRG;AAAA,YACAE;AAAA,YACAH;AAAA,UACV,EAAU,OAAOD,CAAa;AAAA;QAExBC;AAAA,MACN,EAAM,OAAOD,CAAa;AAAA,IAC1B;AACE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;MAEF,kBAAkB;AAAA,MAClB,UAAUD;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,QACRG;AAAA,QACAE;AAAA,QACAD;AAAA,QACAE;AAAA,QACAC;AAAA,QACAL;AAAA,MACN,EAAM,OAAOD,CAAa;AAAA,IAC1B;AAAA,EACA;AAEA,SAAAO,IAAiBV;;","x_google_ignoreList":[0]}