1{"version":3,"sources":["webpack:///text/node_modules/highlight.js/lib/languages/qml.js"],"names":["concat","args","map","x","source","re","join","module","exports","hljs","QML_IDENT_RE","ID_ID","className","begin","starts","end","returnEnd","QML_ATTRIBUTE","returnBegin","contains","excludeEnd","relevance","QML_OBJECT","inherit","TITLE_MODE","name","aliases","case_insensitive","keywords","keyword","literal","built_in","APOS_STRING_MODE","QUOTE_STRING_MODE","BACKSLASH_ESCAPE","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","variants","C_NUMBER_RE","RE_STARTERS_RE","REGEXP_MODE","subLanguage","beginKeywords","excludeBegin","illegal","IDENT_RE"],"mappings":"qFAoBA,SAASA,KAAUC,GAEjB,OADeA,EAAKC,KAAKC,IAAMC,OAZjBC,EAYwBF,GAVpB,iBAAPE,EAAwBA,EAE5BA,EAAGD,OAHM,KADlB,IAAgBC,KAY4BC,KAAK,IA2MjDC,EAAOC,QA7LP,SAAaC,GACX,MAqBMC,EAAe,4BA4BfC,EAAQ,CACZC,UAAW,YACXC,MAAO,aACPC,OAAQ,CACNF,UAAW,SACXG,IAAKL,EACLM,WAAW,IAQTC,EAAgB,CACpBJ,MAAOH,EAAe,QACtBQ,aAAa,EACbC,SAAU,CACR,CACEP,UAAW,YACXC,MAAOH,EACPK,IAAK,QACLK,YAAY,EACZC,UAAW,IAGfA,UAAW,GAKPC,EAAa,CACjBT,MAAOb,EAAOU,EAAc,SAC5BK,IAAK,KACLG,aAAa,EACbG,UAAW,EACXF,SAAU,CACRV,EAAKc,QAAQd,EAAKe,WAAY,CAC5BX,MAAOH,MAKb,MAAO,CACLe,KAAM,MACNC,QAAS,CAAE,MACXC,kBAAkB,EAClBC,SAhGe,CACfC,QACE,uNAGFC,QACE,yCACFC,SACE,+sBAyFFZ,SAAU,CACR,CACEP,UAAW,OACXC,MAAO,gCAETJ,EAAKuB,iBACLvB,EAAKwB,kBACL,CACErB,UAAW,SACXC,MAAO,IACPE,IAAK,IACLI,SAAU,CACRV,EAAKyB,iBACL,CACEtB,UAAW,QACXC,MAAO,SACPE,IAAK,SAIXN,EAAK0B,oBACL1B,EAAK2B,qBACL,CACExB,UAAW,SACXyB,SAAU,CACR,CACExB,MAAO,mBAET,CACEA,MAAO,oBAET,CACEA,MAAOJ,EAAK6B,cAGhBjB,UAAW,GAEb,CACER,MAAO,IAAMJ,EAAK8B,eAAiB,kCACnCX,SAAU,oBACVT,SAAU,CACRV,EAAK0B,oBACL1B,EAAK2B,qBACL3B,EAAK+B,YACL,CACE3B,MAAO,IACPE,IAAK,aACLM,UAAW,EACXoB,YAAa,QAGjBpB,UAAW,GA/GF,CACbT,UAAW,UACXC,MAAO,eACPC,OAAQ,CACNF,UAAW,SACXG,IAAK,0BACLC,WAAW,IAlBE,CACfJ,UAAW,UACXC,MAAO,iBACPC,OAAQ,CACNF,UAAW,SACXG,IAAK,sBACLC,WAAW,IAyHX,CACEJ,UAAW,WACX8B,cAAe,WACf3B,IAAK,KACLK,YAAY,EACZD,SAAU,CACRV,EAAKc,QAAQd,EAAKe,WAAY,CAC5BX,MAAO,6BAET,CACED,UAAW,SACXC,MAAO,KACPE,IAAK,KACL4B,cAAc,EACdvB,YAAY,EACZD,SAAU,CACRV,EAAK0B,oBACL1B,EAAK2B,wBAIXQ,QAAS,QAEX,CAEE/B,MAAO,MAAQJ,EAAKoC,SACpBxB,UAAW,GAEbV,EACAM,EACAK,GAEFsB,QAAS","file":"highlight/qml.js?v=4282ffa16a02600d1fd5","sourcesContent":["/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n  if (!re) return null;\n  if (typeof re === \"string\") return re;\n\n  return re.source;\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n  const joined = args.map((x) => source(x)).join(\"\");\n  return joined;\n}\n\n/*\nLanguage: QML\nRequires: javascript.js, xml.js\nAuthor: John Foster <jfoster@esri.com>\nDescription: Syntax highlighting for the Qt Quick QML scripting language, based mostly off\n             the JavaScript parser.\nWebsite: https://doc.qt.io/qt-5/qmlapplications.html\nCategory: scripting\n*/\n\nfunction qml(hljs) {\n  const KEYWORDS = {\n    keyword:\n      'in of on if for while finally var new function do return void else break catch ' +\n      'instanceof with throw case default try this switch continue typeof delete ' +\n      'let yield const export super debugger as async await import',\n    literal:\n      'true false null undefined NaN Infinity',\n    built_in:\n      'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' +\n      'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' +\n      'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' +\n      'TypeError URIError Number Math Date String RegExp Array Float32Array ' +\n      'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' +\n      'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' +\n      'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' +\n      'Behavior bool color coordinate date double enumeration font geocircle georectangle ' +\n      'geoshape int list matrix4x4 parent point quaternion real rect ' +\n      'size string url variant vector2d vector3d vector4d ' +\n      'Promise'\n  };\n\n  const QML_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9\\\\._]*';\n\n  // Isolate property statements. Ends at a :, =, ;, ,, a comment or end of line.\n  // Use property class.\n  const PROPERTY = {\n    className: 'keyword',\n    begin: '\\\\bproperty\\\\b',\n    starts: {\n      className: 'string',\n      end: '(:|=|;|,|//|/\\\\*|$)',\n      returnEnd: true\n    }\n  };\n\n  // Isolate signal statements. Ends at a ) a comment or end of line.\n  // Use property class.\n  const SIGNAL = {\n    className: 'keyword',\n    begin: '\\\\bsignal\\\\b',\n    starts: {\n      className: 'string',\n      end: '(\\\\(|:|=|;|,|//|/\\\\*|$)',\n      returnEnd: true\n    }\n  };\n\n  // id: is special in QML. When we see id: we want to mark the id: as attribute and\n  // emphasize the token following.\n  const ID_ID = {\n    className: 'attribute',\n    begin: '\\\\bid\\\\s*:',\n    starts: {\n      className: 'string',\n      end: QML_IDENT_RE,\n      returnEnd: false\n    }\n  };\n\n  // Find QML object attribute. An attribute is a QML identifier followed by :.\n  // Unfortunately it's hard to know where it ends, as it may contain scalars,\n  // objects, object definitions, or javascript. The true end is either when the parent\n  // ends or the next attribute is detected.\n  const QML_ATTRIBUTE = {\n    begin: QML_IDENT_RE + '\\\\s*:',\n    returnBegin: true,\n    contains: [\n      {\n        className: 'attribute',\n        begin: QML_IDENT_RE,\n        end: '\\\\s*:',\n        excludeEnd: true,\n        relevance: 0\n      }\n    ],\n    relevance: 0\n  };\n\n  // Find QML object. A QML object is a QML identifier followed by { and ends at the matching }.\n  // All we really care about is finding IDENT followed by { and just mark up the IDENT and ignore the {.\n  const QML_OBJECT = {\n    begin: concat(QML_IDENT_RE, /\\s*\\{/),\n    end: /\\{/,\n    returnBegin: true,\n    relevance: 0,\n    contains: [\n      hljs.inherit(hljs.TITLE_MODE, {\n        begin: QML_IDENT_RE\n      })\n    ]\n  };\n\n  return {\n    name: 'QML',\n    aliases: [ 'qt' ],\n    case_insensitive: false,\n    keywords: KEYWORDS,\n    contains: [\n      {\n        className: 'meta',\n        begin: /^\\s*['\"]use (strict|asm)['\"]/\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      { // template string\n        className: 'string',\n        begin: '`',\n        end: '`',\n        contains: [\n          hljs.BACKSLASH_ESCAPE,\n          {\n            className: 'subst',\n            begin: '\\\\$\\\\{',\n            end: '\\\\}'\n          }\n        ]\n      },\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'number',\n        variants: [\n          {\n            begin: '\\\\b(0[bB][01]+)'\n          },\n          {\n            begin: '\\\\b(0[oO][0-7]+)'\n          },\n          {\n            begin: hljs.C_NUMBER_RE\n          }\n        ],\n        relevance: 0\n      },\n      { // \"value\" container\n        begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n        keywords: 'return throw case',\n        contains: [\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE,\n          hljs.REGEXP_MODE,\n          { // E4X / JSX\n            begin: /</,\n            end: />\\s*[);\\]]/,\n            relevance: 0,\n            subLanguage: 'xml'\n          }\n        ],\n        relevance: 0\n      },\n      SIGNAL,\n      PROPERTY,\n      {\n        className: 'function',\n        beginKeywords: 'function',\n        end: /\\{/,\n        excludeEnd: true,\n        contains: [\n          hljs.inherit(hljs.TITLE_MODE, {\n            begin: /[A-Za-z$_][0-9A-Za-z$_]*/\n          }),\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            excludeBegin: true,\n            excludeEnd: true,\n            contains: [\n              hljs.C_LINE_COMMENT_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          }\n        ],\n        illegal: /\\[|%/\n      },\n      {\n        // hack: prevents detection of keywords after dots\n        begin: '\\\\.' + hljs.IDENT_RE,\n        relevance: 0\n      },\n      ID_ID,\n      QML_ATTRIBUTE,\n      QML_OBJECT\n    ],\n    illegal: /#/\n  };\n}\n\nmodule.exports = qml;\n"],"sourceRoot":""}