diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2018-11-18 18:08:20 +0100 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2018-11-18 18:08:20 +0100 |
commit | 3a151527e1d72aa75d9461ee9918bda3bd08bcb1 (patch) | |
tree | 4b01d84a58dcc7a5c54cedee7fa663a6b8df1921 | |
parent | 608593b0f875012875f13d28fbccd533d1266fd2 (diff) | |
download | stagit-fork-3a151527e1d72aa75d9461ee9918bda3bd08bcb1.zip |
in the diffstat prefix the type of change, allow CSS styling
-rw-r--r-- | stagit.c | 17 | ||||
-rw-r--r-- | style.css | 2 |
2 files changed, 18 insertions, 1 deletions
@@ -461,6 +461,7 @@ printshowfile(FILE *fp, struct commitinfo *ci) git_patch *patch; size_t nhunks, nhunklines, changed, add, del, total, i, j, k; char linestr[80]; + int c; printcommit(fp, ci); @@ -480,7 +481,21 @@ printshowfile(FILE *fp, struct commitinfo *ci) for (i = 0; i < ci->ndeltas; i++) { delta = git_patch_get_delta(ci->deltas[i]->patch); - fprintf(fp, "<tr><td><a href=\"#h%zu\">", i); + switch (delta->status) { + case GIT_DELTA_ADDED: c = 'A'; break; + case GIT_DELTA_COPIED: c = 'C'; break; + case GIT_DELTA_DELETED: c = 'D'; break; + case GIT_DELTA_MODIFIED: c = 'M'; break; + case GIT_DELTA_RENAMED: c = 'R'; break; + case GIT_DELTA_TYPECHANGE: c = 'T'; break; + default: c = ' '; break; + } + if (c == ' ') + fprintf(fp, "<tr><td>%c", c); + else + fprintf(fp, "<tr><td class=\"%c\">%c", c, c); + + fprintf(fp, "</td><td><a href=\"#h%zu\">", i); xmlencode(fp, delta->old_file.path, strlen(delta->old_file.path)); if (strcmp(delta->old_file.path, delta->new_file.path)) { fputs(" -> ", fp); @@ -84,11 +84,13 @@ pre a.h { color: #00a; } +.A, span.i, pre a.i { color: #070; } +.D, span.d, pre a.d { color: #e00; |