diff --git a/GLFileView.m b/GLFileView.m index bec36c65c..fbc601e53 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -77,7 +77,7 @@ - (void) showFile if ([files count]>0) { PBGitTree *file=[files objectAtIndex:0]; - NSString *fileTxt=@""; + NSString *fileTxt = @""; if(startFile==@"fileview") fileTxt=[self parseHTML:[file textContents]]; else if(startFile==@"blame") @@ -86,7 +86,8 @@ - (void) showFile fileTxt=[file log:logFormat]; id script = [view windowScriptObject]; - [script callWebScriptMethod:@"showFile" withArguments:[NSArray arrayWithObject:fileTxt]]; + NSString *filePath = [file fullPath]; + [script callWebScriptMethod:@"showFile" withArguments:[NSArray arrayWithObjects:fileTxt, filePath, nil]]; } #if 0 diff --git a/README b/README.markdown similarity index 100% rename from README rename to README.markdown diff --git a/html/lib/syntaxhighlighter/scripts/shBrushObjC.js b/html/lib/syntaxhighlighter/scripts/shBrushObjC.js index d99555d3c..8fb7c8447 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 a8abad62d..3db841c56 100644 --- a/html/views/fileview/fileview.js +++ b/html/views/fileview/fileview.js @@ -1,16 +1,118 @@ -var showFile = function(txt) { - $("source").style.display = ""; - $("source").innerHTML="
"+txt+""; - - SyntaxHighlighter.defaults['toolbar'] = false; - SyntaxHighlighter.highlight(); - - return; +var showFile = function(txt, fileName) { + $("source").style.display = ""; + var suffix_map = { + "m": "objc", + "h": "objc", + + "rb": "ruby", + "rbx": "ruby", + "rjs": "ruby", + "Rakefile": "ruby", + "rake": "ruby", + "gemspec": "ruby", + "irbrc": "ruby", + "capfile": "ruby", + + "xml": "xml", + "tld": "xml", + "jsp": "xml", + "pt": "xml", + "cpt": "xml", + "dtml": "xml", + "rss": "xml", + "opml": "xml", + "xsl": "xml", + "xslt": "xml", + + "js": "javascript", + "htc": "javascript", + "jsx": "javascript", + "jscript": "javascript", + "javascript": "javascript", + + "sql": "sql", + "ddl": "sql", + "dml": "sql", + + "sass": "sass", + "scss": "sass", + + "sh": "bash", + "bash": "bash", + "zsh": "bash", + "bashrc": "bash", + "bash_profile": "bash", + "bash_login": "bash", + "profile": "bash", + "bash_logout": "bash", + + "diff": "diff", + "patch": "diff", + + "java": "java", + "bsh": "java", + + "css": "css", + "css": "css.erb", + "pl": "perl", + "pm": "perl", + "pod": "perl", + "t": "perl", + "PL": "perl", + + "erl": "erlang", + "hrl": "erlang", + + "php": "php", + + "py": "python", + "rpy": "python", + "pyw": "python", + "cpy": "python", + "SConstruct": "python", + "Sconstruct": "python", + "sconstruct": "python", + "SConscript": "python", + + "cc": "cpp", + "cpp": "cpp", + "cp": "cpp", + "cxx": "cpp", + "c++":"cpp", + "C": "cpp", + "h": "cpp", + "hh": "cpp", + "hpp": "cpp", + "cpp": "h++", + "c": "cpp" + } + var brush = "objc"; + var suffix = ""; + if (fileName && fileName != '') { + suffix = fileName.substr(fileName.lastIndexOf('.') + 1); + } + + brush = suffix_map[suffix]; + + $("source").innerHTML="
" + txt + ""; + + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.highlight(); + + return; } var test=function(txt) { - SyntaxHighlighter.defaults['toolbar'] = false; - SyntaxHighlighter.highlight(); - - return; + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.highlight(); + + 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 6dfb4cdcd..0edf8fb29 100644 --- a/html/views/fileview/index.html +++ b/html/views/fileview/index.html @@ -2,7 +2,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +