!(function (e) { function s(e, t) { return t <= 0 ? '[]' : e.replace(//g, function () { return s(e, t - 1); }); } var t = /'[{}:=,](?:[^']|'')*'(?!')/, n = { pattern: /''/, greedy: !0, alias: 'operator' }, r = { pattern: t, greedy: !0, inside: { escape: n } }, a = s( "\\{(?:[^{}']|'(?![{},'])|''||)*\\}".replace( //g, function () { return t.source; } ), 8 ), i = { pattern: RegExp(a), inside: { message: { pattern: /^(\{)[\s\S]+(?=\}$)/, lookbehind: !0, inside: null, }, 'message-delimiter': { pattern: /./, alias: 'punctuation' }, }, }; (e.languages['icu-message-format'] = { argument: { pattern: RegExp(a), greedy: !0, inside: { content: { pattern: /^(\{)[\s\S]+(?=\}$)/, lookbehind: !0, inside: { 'argument-name': { pattern: /^(\s*)[^{}:=,\s]+/, lookbehind: !0 }, 'choice-style': { pattern: /^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/, lookbehind: !0, inside: { punctuation: /\|/, range: { pattern: /^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/, lookbehind: !0, inside: { operator: /[<#\u2264]/, number: /\S+/ }, }, rest: null, }, }, 'plural-style': { pattern: /^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/, lookbehind: !0, inside: { offset: /^offset:\s*\d+/, 'nested-message': i, selector: { pattern: /=\d+|[^{}:=,\s]+/, inside: { keyword: /^(?:few|many|one|other|two|zero)$/ }, }, }, }, 'select-style': { pattern: /^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/, lookbehind: !0, inside: { 'nested-message': i, selector: { pattern: /[^{}:=,\s]+/, inside: { keyword: /^other$/ }, }, }, }, keyword: /\b(?:choice|plural|select|selectordinal)\b/, 'arg-type': { pattern: /\b(?:date|duration|number|ordinal|spellout|time)\b/, alias: 'keyword', }, 'arg-skeleton': { pattern: /(,\s*)::[^{}:=,\s]+/, lookbehind: !0 }, 'arg-style': { pattern: /(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/, lookbehind: !0, }, 'arg-style-text': { pattern: RegExp( '(^\\s*,\\s*(?=\\S))' + s("(?:[^{}']|'[^']*'|\\{(?:)?\\})+", 8) + '$' ), lookbehind: !0, alias: 'string', }, punctuation: /,/, }, }, 'argument-delimiter': { pattern: /./, alias: 'operator' }, }, }, escape: n, string: r, }), (i.inside.message.inside = e.languages['icu-message-format']), (e.languages['icu-message-format'].argument.inside.content.inside[ 'choice-style' ].inside.rest = e.languages['icu-message-format']); })(Prism);