aboutsummaryrefslogtreecommitdiffstats
path: root/railties/guides/assets/javascripts/highlighters.js
diff options
context:
space:
mode:
Diffstat (limited to 'railties/guides/assets/javascripts/highlighters.js')
-rw-r--r--railties/guides/assets/javascripts/highlighters.js90
1 files changed, 90 insertions, 0 deletions
diff --git a/railties/guides/assets/javascripts/highlighters.js b/railties/guides/assets/javascripts/highlighters.js
new file mode 100644
index 0000000000..4f5f0779d7
--- /dev/null
+++ b/railties/guides/assets/javascripts/highlighters.js
@@ -0,0 +1,90 @@
+CodeHighlighter.addStyle("css", {
+ comment : {
+ exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
+ },
+ keywords : {
+ exp : /@\w[\w\s]*/
+ },
+ selectors : {
+ exp : "([\\w-:\\[.#][^{};>]*)(?={)"
+ },
+ properties : {
+ exp : "([\\w-]+)(?=\\s*:)"
+ },
+ units : {
+ exp : /([0-9])(em|en|px|%|pt)\b/,
+ replacement : "$1<span class=\"$0\">$2</span>"
+ },
+ urls : {
+ exp : /url\([^\)]*\)/
+ }
+ });
+
+CodeHighlighter.addStyle("ruby",{
+ comment : {
+ exp : /#[^\n]+/
+ },
+ brackets : {
+ exp : /\(|\)/
+ },
+ string : {
+ exp : /'[^']*'|"[^"]*"/
+ },
+ keywords : {
+ exp : /\b(do|end|self|class|def|if|module|yield|then|else|for|until|unless|while|elsif|case|when|break|retry|redo|rescue|require|raise)\b/
+ },
+ /* Added by Shelly Fisher (shelly@agileevolved.com) */
+ symbol : {
+ exp : /([^:])(:[A-Za-z0-9_!?]+)/
+ },
+ ivar : {
+ exp : /\@[A-Za-z0-9_!?]+/
+ }
+});
+
+CodeHighlighter.addStyle("html", {
+ comment : {
+ exp: /&lt;!\s*(--([^-]|[\r\n]|-[^-])*--\s*)&gt;/
+ },
+ tag : {
+ exp: /(&lt;\/?)([a-zA-Z1-9]+\s?)/,
+ replacement: "$1<span class=\"$0\">$2</span>"
+ },
+ string : {
+ exp : /'[^']*'|"[^"]*"/
+ },
+ attribute : {
+ exp: /\b([a-zA-Z-:]+)(=)/,
+ replacement: "<span class=\"$0\">$1</span>$2"
+ },
+ doctype : {
+ exp: /&lt;!DOCTYPE([^&]|&[^g]|&g[^t])*&gt;/
+ }
+});
+
+CodeHighlighter.addStyle("javascript",{
+ comment : {
+ exp : /(\/\/[^\n]*(\n|$))|(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)/
+ },
+ brackets : {
+ exp : /\(|\)/
+ },
+ string : {
+ exp : /'[^']*'|"[^"]*"/
+ },
+ keywords : {
+ exp : /\b(arguments|break|case|continue|default|delete|do|else|false|for|function|if|in|instanceof|new|null|return|switch|this|true|typeof|var|void|while|with)\b/
+ },
+ global : {
+ exp : /\b(toString|valueOf|window|element|prototype|constructor|document|escape|unescape|parseInt|parseFloat|setTimeout|clearTimeout|setInterval|clearInterval|NaN|isNaN|Infinity)\b/
+ }
+});
+
+CodeHighlighter.addStyle("yaml", {
+ keyword : {
+ exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
+ },
+ value : {
+ exp : /@\w[\w\s]*/
+ },
+});