From 3ee7fb304237e196104f6ab698f4486cf4fdbc1c Mon Sep 17 00:00:00 2001 From: David Parry Date: Wed, 24 Nov 2010 13:25:35 +1100 Subject: [PATCH] Added aliases for 'm' & 'h' for objc. Added a hash of possible values to select the correct brush based on the suffix. This fixes a problem where some suffixes did not match brush aliases. --- .../syntaxhighlighter/scripts/shBrushObjC.js | 2 +- html/views/fileview/fileview.js | 42 +++++++++++++++++-- html/views/fileview/index.html | 3 +- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/html/lib/syntaxhighlighter/scripts/shBrushObjC.js b/html/lib/syntaxhighlighter/scripts/shBrushObjC.js index d99555d..8fb7c84 100644 --- a/html/lib/syntaxhighlighter/scripts/shBrushObjC.js +++ b/html/lib/syntaxhighlighter/scripts/shBrushObjC.js @@ -55,5 +55,5 @@ SyntaxHighlighter.brushes.ObjC = function() }; SyntaxHighlighter.brushes.ObjC.prototype = new SyntaxHighlighter.Highlighter(); -SyntaxHighlighter.brushes.ObjC.aliases = ['objc']; +SyntaxHighlighter.brushes.ObjC.aliases = ['objc', 'm', 'h']; diff --git a/html/views/fileview/fileview.js b/html/views/fileview/fileview.js index 127e9a0..6a72c02 100644 --- a/html/views/fileview/fileview.js +++ b/html/views/fileview/fileview.js @@ -1,9 +1,37 @@ var showFile = function(txt, fileName) { $("source").style.display = ""; - var brush = "objc"; - if (fileName && fileName != '') { - brush = fileName.substr(fileName.lastIndexOf('.') + 1); + var suffix_map = { + "objc": ["m", "h"], + "ruby": ["rb", "rbx", "rjs", "Rakefile", "rake", "gemspec", "irbrc", "capfile"], + "xml": ['xml', 'tld', 'jsp', 'pt', 'cpt', 'dtml', 'rss', 'opml', 'xsl', 'xslt'], + "javascript": ['js', 'htc', 'jsx', 'jscript', 'javascript'], + "sql": ['sql', 'ddl', 'dml'], + "sass": ['sass', 'scss'], + "bash": ['sh', 'bash', 'zsh', 'bashrc', 'bash_profile', 'bash_login', 'profile', 'bash_logout'], + "diff": ['diff', 'patch'], + "java": ['java', 'bsh'], + "css": ['css', 'css.erb'], + "perl": ['pl', 'pm', 'pod', 't', 'PL'], + "erlang": ['erl', 'hrl'], + "php": ['php'], + "python": ['py', 'rpy', 'pyw', 'cpy', 'SConstruct', 'Sconstruct', 'sconstruct', 'SConscript'], + "cpp": ['cc', 'cpp', 'cp', 'cxx', 'c++', 'C', 'h', 'hh', 'hpp', 'h++', 'c'] } + var brush = "objc"; + var suffix = ""; + if (fileName && fileName != '') { + suffix = fileName.substr(fileName.lastIndexOf('.') + 1); + } + var keys = get_keys(suffix_map); + for (var key in keys) { + var suffixes = suffix_map[key]; + for (var possible_suffix in suffixes) { + if (possible_suffix == suffix) { + brush = key; + } + } + } + $("source").innerHTML="
" + txt + "
"; SyntaxHighlighter.defaults['toolbar'] = false; @@ -18,3 +46,11 @@ var test=function(txt) { return; } + +var get_keys = function(obj) { + var keys = []; + for (var key in obj) { + keys.push(key); + } + return keys; +} diff --git a/html/views/fileview/index.html b/html/views/fileview/index.html index c00ff27..71f878e 100644 --- a/html/views/fileview/index.html +++ b/html/views/fileview/index.html @@ -30,7 +30,8 @@ - + +