History

Update Prism.js with Ruby syntax

Thibaut committed 12 years ago

Commit 49de7361 parent 7784b7d1 file · +29 −22Browse files

Unified · Split

assets/javascripts/vendor/prism.js+29−22
@@ -336,7 +336,7 @@ Token.stringify = function(o, language, parent) { · 335 unmodified lines
336// return;336// return;
337// }337// }
338 338
339// Get current script and highlight339// // Get current script and highlight
340// var script = document.getElementsByTagName('script');340// var script = document.getElementsByTagName('script');
341 341
342// script = script[script.length - 1];342// script = script[script.length - 1];
@@ -349,7 +349,7 @@ Token.stringify = function(o, language, parent) { · 6 unmodified lines
349// }349// }
350// }350// }
351 351
352})();352})();;
353Prism.languages.markup = {353Prism.languages.markup = {
354 'comment': /<!--[\w\W]*?-->/g,354 'comment': /<!--[\w\W]*?-->/g,
355 'prolog': /<\?.+?\?>/,355 'prolog': /<\?.+?\?>/,
@@ -390,7 +390,7 @@ Prism.hooks.add('wrap', function(env) { · 34 unmodified lines
390 if (env.type === 'entity') {390 if (env.type === 'entity') {
391 env.attributes['title'] = env.content.replace(/&/, '&');391 env.attributes['title'] = env.content.replace(/&/, '&');
392 }392 }
393});393});;
394Prism.languages.css = {394Prism.languages.css = {
395 'comment': /\/\*[\w\W]*?\*\//g,395 'comment': /\/\*[\w\W]*?\*\//g,
396 'atrule': {396 'atrule': {
@@ -422,22 +422,6 @@ if (Prism.languages.markup) { · 25 unmodified lines
422 }422 }
423 });423 });
424};424};
425Prism.languages.css.selector = {
426 pattern: /[^\{\}\s][^\{\}]*(?=\s*\{)/g,
427 inside: {
428 'pseudo-element': /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/g,
429 'pseudo-class': /:[-\w]+(?:\(.*\))?/g,
430 'class': /\.[-:\.\w]+/g,
431 'id': /#[-:\.\w]+/g
432 }
433};
434
435Prism.languages.insertBefore('css', 'ignore', {
436 'hexcode': /#[\da-f]{3,6}/gi,
437 'entity': /\\[\da-f]{1,8}/gi,
438 'number': /[\d%\.]+/g,
439 'function': /(attr|calc|cross-fade|cycle|element|hsla?|image|lang|linear-gradient|matrix3d|matrix|perspective|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|rgba?|rotatex|rotatey|rotatez|rotate3d|rotate|scalex|scaley|scalez|scale3d|scale|skewx|skewy|skew|steps|translatex|translatey|translatez|translate3d|translate|url|var)/ig
440});
441Prism.languages.clike = {425Prism.languages.clike = {
442 'comment': {426 'comment': {
443 pattern: /(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,427 pattern: /(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,
@@ -464,7 +448,7 @@ Prism.languages.clike = { · 20 unmodified lines
464 'ignore': /&(lt|gt|amp);/gi,448 'ignore': /&(lt|gt|amp);/gi,
465 'punctuation': /[{}[\];(),.:]/g449 'punctuation': /[{}[\];(),.:]/g
466};450};
467 451;
468Prism.languages.javascript = Prism.languages.extend('clike', {452Prism.languages.javascript = Prism.languages.extend('clike', {
469 'keyword': /\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,453 'keyword': /\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,
470 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g454 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g
@@ -490,8 +474,8 @@ if (Prism.languages.markup) { · 19 unmodified lines
490 }474 }
491 }475 }
492 });476 });
493};477}
494 478;
495Prism.languages.coffeescript = Prism.languages.extend('javascript', {479Prism.languages.coffeescript = Prism.languages.extend('javascript', {
496 'block-comment': /([#]{3}\s*\r?\n(.*\s*\r*\n*)\s*?\r?\n[#]{3})/g,480 'block-comment': /([#]{3}\s*\r?\n(.*\s*\r*\n*)\s*?\r?\n[#]{3})/g,
497 'comment': /(\s|^)([#]{1}[^#^\r^\n]{2,}?(\r?\n|$))/g,481 'comment': /(\s|^)([#]{1}[^#^\r^\n]{2,}?(\r?\n|$))/g,
@@ -508,3 +492,26 @@ Prism.languages.insertBefore('coffeescript', 'keyword', { · 10 unmodified lines
508 },492 },
509 'attr-name': /[_?a-z-|A-Z-]+(\s*:)| @[_?$?a-z-|A-Z-]+(\s*)| /g493 'attr-name': /[_?a-z-|A-Z-]+(\s*:)| @[_?$?a-z-|A-Z-]+(\s*)| /g
510});494});
495;
496/**
497 * Original by Samuel Flores
498 *
499 * Adds the following new token classes:
500 * constant, builtin, variable, symbol, regex
501 */
502Prism.languages.ruby = Prism.languages.extend('clike', {
503 'comment': /#[^\r\n]*(\r?\n|$)/g,
504 'keyword': /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/g,
505 'builtin': /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,
506 'constant': /\b[A-Z][a-zA-Z_0-9]*[?!]?\b/g
507});
508
509Prism.languages.insertBefore('ruby', 'keyword', {
510 'regex': {
511 pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,
512 lookbehind: true
513 },
514 'variable': /[@$&]+\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/g,
515 'symbol': /:\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/g
516});
517;