diff --git a/GLFileView.h b/GLFileView.h index 6d403b8..6cac193 100644 --- a/GLFileView.h +++ b/GLFileView.h @@ -30,7 +30,7 @@ - (NSString *)parseBlame:(NSString *)txt; + (NSString *)parseHTML:(NSString *)txt; + (NSString *)parseDiff:(NSString *)txt; -+ (NSString *)parseDiffTree:(NSString *)txt; ++ (NSString *)parseDiffTree:(NSString *)txt withStats:(NSMutableDictionary *)stats; +(BOOL)isStartDiff:(NSString *)line; +(BOOL)isStartBlock:(NSString *)line; diff --git a/GLFileView.m b/GLFileView.m index e9659d8..0a0154b 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -98,7 +98,7 @@ NSArray *files=[historyController.treeController selectedObjects]; if ([files count]>0) { PBGitTree *file=[files objectAtIndex:0]; - + NSString *fileTxt = @""; if(startFile==@"fileview"){ fileTxt=[file textContents:&theError]; @@ -223,11 +223,21 @@ return txt; } -+ (NSString *)parseDiffTree:(NSString *)txt ++ (NSString *)parseDiffTree:(NSString *)txt withStats:(NSMutableDictionary *)stats { + NSInteger granTotal=0; + for(NSArray *stat in [stats allValues]){ + NSInteger add=[[stat objectAtIndex:0] integerValue]; + NSInteger rem=[[stat objectAtIndex:1] integerValue]; + NSInteger tot=add+rem; + if(tot>granTotal) + granTotal=tot; + [stats setObject:[NSArray arrayWithObjects:[NSNumber numberWithInteger:add],[NSNumber numberWithInteger:rem],[NSNumber numberWithInteger:tot],nil] forKey:[stat objectAtIndex:2]]; + } + NSArray *lines = [txt componentsSeparatedByString:@"\n"]; NSMutableString *res=[NSMutableString string]; - [res appendString:@"