about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ui-log.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/ui-log.c b/ui-log.c
index 9f5fdf6..e5f3c57 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -8,12 +8,18 @@
 
 #include "cgit.h"
 
-int files, lines;
+int files, add_lines, rem_lines;
 
 void count_lines(char *line, int size)
 {
-	if (size>0 && (line[0] == '+' || line[0] == '-'))
-		lines++;
+	if (size <= 0)
+		return;
+
+	if (line[0] == '+')
+		add_lines++;
+
+	else if (line[0] == '-')
+		rem_lines++;
 }
 
 void inspect_files(struct diff_filepair *pair)
@@ -35,13 +41,14 @@ void print_commit(struct commit *commit)
 			 sha1_to_hex(commit->object.sha1));
 	if (cgit_repo->enable_log_filecount) {
 		files = 0;
-		lines = 0;
+		add_lines = 0;
+		rem_lines = 0;
 		cgit_diff_commit(commit, inspect_files);
 		html("</td><td class='right'>");
 		htmlf("%d", files);
 		if (cgit_repo->enable_log_linecount) {
 			html("</td><td class='right'>");
-			htmlf("%d", lines);
+			htmlf("-%d/+%d", rem_lines, add_lines);
 		}
 	}
 	html("</td><td>");
@@ -88,9 +95,9 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
 	     "<th class='left'>Message</th>");
 
 	if (cgit_repo->enable_log_filecount) {
-		html("<th class='left'>Files</th>");
+		html("<th class='right'>Files</th>");
 		if (cgit_repo->enable_log_linecount)
-			html("<th class='left'>Lines</th>");
+			html("<th class='right'>Lines</th>");
 	}
 	html("<th class='left'>Author</th></tr>\n");
 
rJune McEnroe 2021-01-20Generate tags for sh files in mtagsJune McEnroe Only matches functions declared at the beginnings of lines, but I'm fine with that. 2021-01-20Add messy sh lexerJune McEnroe Surprisingly seems to work for everything I looked at in my repos. 2021-01-20Add all target to git.causal.agency MakefileJune McEnroe 2021-01-20Remove Lua supportJune McEnroe Lua support is unused and the dlsym fwrite/write hacks horrify me. Clean it up. 2021-01-20Fix tests for diff spansJune McEnroe 2021-01-20Avoid matching ':' in make tagsJune McEnroe Otherwise a :: rule includes one of the ':'s in the tag name. 2021-01-19Prefer tag matches not preceded by [[:alnum:]]June McEnroe Otherwise the "id" in "void" matches for "void id". 2021-01-19Escape \ and / in mtags search patternsJune McEnroe 2021-01-20Use mtags in source-filterJune McEnroe 2021-01-19Add mtags to generate tags for make and mdocJune McEnroe 2021-01-19Map tags to IDs using only [[:alnum:]-._]June McEnroe 2021-01-19Don't use a pager if reading standard inputJune McEnroe 2021-01-19Support BSD make syntax and match *.amJune McEnroe These don't really go together, but... 2021-01-19Match tab following escaped newline in make assignmentsJune McEnroe Otherwise it ends up going into Shell state. 2021-01-18Allow matching lexers using first input lineJune McEnroe