History

Add QML syntax highlighting (fixes #1706)

Nicolas Ettlin committed 4 years ago

Commit 3b92b101 parent 74352f81 file · +68 −3Browse files

Unified · Split

assets/javascripts/vendor/prism.js+68−3
@@ -1,5 +1,5 @@
1/* PrismJS 1.25.01/* PrismJS 1.26.0
2https://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 */2https://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/// <reference lib="WebWorker"/>3/// <reference lib="WebWorker"/>
4 4
5var _self = (typeof window !== 'undefined')5var _self = (typeof window !== 'undefined')
@@ -661,6 +661,9 @@ var Prism = (function (_self) { · 655 unmodified lines
661 language: language661 language: language
662 };662 };
663 _.hooks.run('before-tokenize', env);663 _.hooks.run('before-tokenize', env);
664 if (!env.grammar) {
665 throw new Error('The language "' + env.language + '" has no grammar.');
666 }
664 env.tokens = _.tokenize(env.code, env.grammar);667 env.tokens = _.tokenize(env.code, env.grammar);
665 _.hooks.run('after-tokenize', env);668 _.hooks.run('after-tokenize', env);
666 return Token.stringify(_.util.encode(env.tokens), env.language);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 'variable': insideString.variable,1865 'variable': insideString.variable,
1863 'function': {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 lookbehind: true1868 lookbehind: true
1866 },1869 },
1867 'keyword': {1870 'keyword': {
@@ -4215,6 +4218,68 @@ Prism.languages.python['string-interpolation'].inside['interpolation'].inside.re · 2347 unmodified lines
4215 4218
4216Prism.languages.py = Prism.languages.python;4219Prism.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
4218Prism.languages.r = {4283Prism.languages.r = {
4219 'comment': /#.*/,4284 'comment': /#.*/,
4220 'string': {4285 'string': {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t