'use strict' module.exports = qml qml.displayName = 'qml' qml.aliases = [] function qml(Prism) { ;(function (Prism) { var jsString = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source var jsComment = /\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source var jsExpr = /(?:[^\\()[\]{}"'/]||\/(?![*/])||\(*\)|\[*\]|\{*\}|\\[\s\S])/.source .replace(//g, function () { return jsString }) .replace(//g, function () { return jsComment }) // the pattern will blow up, so only a few iterations for (var i = 0; i < 2; i++) { jsExpr = jsExpr.replace(//g, function () { return jsExpr }) } jsExpr = jsExpr.replace(//g, '[^\\s\\S]') Prism.languages.qml = { comment: { pattern: /\/\/.*|\/\*[\s\S]*?\*\//, greedy: true }, 'javascript-function': { pattern: RegExp( /((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(*\)\s*\{*\}/.source.replace( //g, function () { return jsExpr } ), 'm' ), lookbehind: true, greedy: true, alias: 'language-javascript', inside: Prism.languages.javascript }, 'class-name': { pattern: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m, lookbehind: true }, property: [ { pattern: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, lookbehind: true }, { pattern: /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, lookbehind: true, inside: { keyword: /^property/, property: /\w+(?:\.\w+)*/ } } ], 'javascript-expression': { pattern: RegExp( /(:[ \t]*)(?![\s;}[])(?:(?!$|[;}]))+/.source.replace( //g, function () { return jsExpr } ), 'm' ), lookbehind: true, greedy: true, alias: 'language-javascript', inside: Prism.languages.javascript }, string: { pattern: /"(?:\\.|[^\\"\r\n])*"/, greedy: true }, keyword: /\b(?:as|import|on)\b/, punctuation: /[{}[\]:;,]/ } })(Prism) }