Unified · Split
| @@ -1,5 +1,5 @@ | ||
| 1 | −/* PrismJS 1.25.0 | |
| 2 | −https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+cmake+coffeescript+crystal+d+dart+diff+django+elixir+erlang+go+groovy+java+json+julia+kotlin+latex+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+r+jsx+ruby+rust+scss+shell-session+sql+typescript+yaml+zig */ | |
| 1 | +/* PrismJS 1.26.0 | |
| 2 | +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+cmake+coffeescript+crystal+d+dart+diff+django+elixir+erlang+go+groovy+java+json+julia+kotlin+latex+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+qml+r+jsx+ruby+rust+scss+shell-session+sql+typescript+yaml+zig */ | |
| 3 | 3 | /// <reference lib="WebWorker"/> |
| 4 | 4 | |
| 5 | 5 | var _self = (typeof window !== 'undefined') |
| @@ -661,6 +661,9 @@ var Prism = (function (_self) { · 655 unmodified lines | ||
| 661 | 661 | language: language |
| 662 | 662 | }; |
| 663 | 663 | _.hooks.run('before-tokenize', env); |
| 664 | + if (!env.grammar) { | |
| 665 | + throw new Error('The language "' + env.language + '" has no grammar.'); | |
| 666 | + } | |
| 664 | 667 | env.tokens = _.tokenize(env.code, env.grammar); |
| 665 | 668 | _.hooks.run('after-tokenize', env); |
| 666 | 669 | return Token.stringify(_.util.encode(env.tokens), env.language); |
| @@ -1861,7 +1864,7 @@ Prism.languages.js = Prism.languages.javascript; · 1194 unmodified lines | ||
| 1861 | 1864 | }, |
| 1862 | 1865 | 'variable': insideString.variable, |
| 1863 | 1866 | 'function': { |
| 1864 | − pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/, | |
| 1867 | + pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/, | |
| 1865 | 1868 | lookbehind: true |
| 1866 | 1869 | }, |
| 1867 | 1870 | 'keyword': { |
| @@ -4215,6 +4218,68 @@ Prism.languages.python['string-interpolation'].inside['interpolation'].inside.re · 2347 unmodified lines | ||
| 4215 | 4218 | |
| 4216 | 4219 | Prism.languages.py = Prism.languages.python; |
| 4217 | 4220 | |
| 4221 | +(function (Prism) { | |
| 4222 | + | |
| 4223 | + var jsString = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source; | |
| 4224 | + var jsComment = /\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source; | |
| 4225 | + | |
| 4226 | + var jsExpr = /(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/ | |
| 4227 | + .source.replace(/<string>/g, function () { return jsString; }).replace(/<comment>/g, function () { return jsComment; }); | |
| 4228 | + | |
| 4229 | + // the pattern will blow up, so only a few iterations | |
| 4230 | + for (var i = 0; i < 2; i++) { | |
| 4231 | + jsExpr = jsExpr.replace(/<expr>/g, function () { return jsExpr; }); | |
| 4232 | + } | |
| 4233 | + jsExpr = jsExpr.replace(/<expr>/g, '[^\\s\\S]'); | |
| 4234 | + | |
| 4235 | + | |
| 4236 | + Prism.languages.qml = { | |
| 4237 | + 'comment': { | |
| 4238 | + pattern: /\/\/.*|\/\*[\s\S]*?\*\//, | |
| 4239 | + greedy: true | |
| 4240 | + }, | |
| 4241 | + 'javascript-function': { | |
| 4242 | + pattern: RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'), | |
| 4243 | + lookbehind: true, | |
| 4244 | + greedy: true, | |
| 4245 | + alias: 'language-javascript', | |
| 4246 | + inside: Prism.languages.javascript | |
| 4247 | + }, | |
| 4248 | + 'class-name': { | |
| 4249 | + pattern: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m, | |
| 4250 | + lookbehind: true | |
| 4251 | + }, | |
| 4252 | + 'property': [ | |
| 4253 | + { | |
| 4254 | + pattern: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, | |
| 4255 | + lookbehind: true | |
| 4256 | + }, | |
| 4257 | + { | |
| 4258 | + pattern: /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, | |
| 4259 | + lookbehind: true, | |
| 4260 | + inside: { | |
| 4261 | + 'keyword': /^property/, | |
| 4262 | + 'property': /\w+(?:\.\w+)*/ | |
| 4263 | + } | |
| 4264 | + } | |
| 4265 | + ], | |
| 4266 | + 'javascript-expression': { | |
| 4267 | + pattern: RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g, function () { return jsExpr; }), 'm'), | |
| 4268 | + lookbehind: true, | |
| 4269 | + greedy: true, | |
| 4270 | + alias: 'language-javascript', | |
| 4271 | + inside: Prism.languages.javascript | |
| 4272 | + }, | |
| 4273 | + 'string': { | |
| 4274 | + pattern: /"(?:\\.|[^\\"\r\n])*"/, | |
| 4275 | + greedy: true | |
| 4276 | + }, | |
| 4277 | + 'keyword': /\b(?:as|import|on)\b/, | |
| 4278 | + 'punctuation': /[{}[\]:;,]/ | |
| 4279 | + }; | |
| 4280 | + | |
| 4281 | +}(Prism)); | |
| 4282 | + | |
| 4218 | 4283 | Prism.languages.r = { |
| 4219 | 4284 | 'comment': /#.*/, |
| 4220 | 4285 | 'string': { |