summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-09-13 20:01:52 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-09-13 20:01:52 (UTC)
commit5f12e45fe3338095916a444ff106dd9fc9991d84 (patch) (side-by-side diff)
tree26b04e10b2ea277c09620bcf119eaa8f79e2fb88
parent45c49d6cf4b819385dfee620a81e3cb095ed5cd1 (diff)
parent6638f40868ccf7806a9668560d3608324704c2b7 (diff)
downloadcgit-5f12e45fe3338095916a444ff106dd9fc9991d84.zip
cgit-5f12e45fe3338095916a444ff106dd9fc9991d84.tar.gz
cgit-5f12e45fe3338095916a444ff106dd9fc9991d84.tar.bz2
Merge branch 'fp/linenumbers'
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c3
-rw-r--r--cgit.css6
-rw-r--r--cgit.h1
-rw-r--r--cgitrc.5.txt4
-rw-r--r--ui-tree.c35
5 files changed, 32 insertions, 17 deletions
diff --git a/cgit.c b/cgit.c
index b0e1c44..ec40e1f 100644
--- a/cgit.c
+++ b/cgit.c
@@ -88,2 +88,4 @@ void config_cb(const char *name, const char *value)
ctx.cfg.enable_log_linecount = atoi(value);
+ else if (!strcmp(name, "enable-tree-linenumbers"))
+ ctx.cfg.enable_tree_linenumbers = atoi(value);
else if (!strcmp(name, "max-stats"))
@@ -240,2 +242,3 @@ static void prepare_context(struct cgit_context *ctx)
ctx->cfg.local_time = 0;
+ ctx->cfg.enable_tree_linenumbers = 1;
ctx->cfg.max_repo_count = 50;
diff --git a/cgit.css b/cgit.css
index e3b32e7..ebf3322 100644
--- a/cgit.css
+++ b/cgit.css
@@ -239,3 +239,3 @@ table.blob {
table.blob td.lines {
- margin: 0; padding: 0;
+ margin: 0; padding: 0 0 0 0.5em;
vertical-align: top;
@@ -245,6 +245,6 @@ table.blob td.lines {
table.blob td.linenumbers {
- margin: 0; padding: 0;
+ margin: 0; padding: 0 0.5em 0 0.5em;
vertical-align: top;
+ text-align: right;
border-right: 1px solid gray;
- background-color: #eee;
}
diff --git a/cgit.h b/cgit.h
index adb8da4..a20679a 100644
--- a/cgit.h
+++ b/cgit.h
@@ -175,2 +175,3 @@ struct cgit_config {
int enable_log_linecount;
+ int enable_tree_linenumbers;
int local_time;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 0d18290..3b16db9 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -101,2 +101,6 @@ enable-log-linecount::
+enable-tree-linenumbers::
+ Flag which, when set to "1", will make cgit generate linenumber links
+ for plaintext blobs printed in the tree view. Default value: "1".
+
favicon::
diff --git a/ui-tree.c b/ui-tree.c
index c608754..f53ab64 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -24,4 +24,24 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size)
html("<table summary='blob content' class='blob'>\n");
+
+ if (ctx.cfg.enable_tree_linenumbers) {
+ html("<tr><td class='linenumbers'><pre>");
+ idx = 0;
+ lineno = 0;
+
+ if (size) {
+ htmlf(numberfmt, ++lineno);
+ while(idx < size - 1) { // skip absolute last newline
+ if (buf[idx] == '\n')
+ htmlf(numberfmt, ++lineno);
+ idx++;
+ }
+ }
+ html("</pre></td>\n");
+ }
+ else {
+ html("<tr>\n");
+ }
+
if (ctx.repo->source_filter) {
- html("<tr><td class='lines'><pre><code>");
+ html("<td class='lines'><pre><code>");
ctx.repo->source_filter->argv[1] = xstrdup(name);
@@ -34,15 +54,2 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size)
- html("<tr><td class='linenumbers'><pre>");
- idx = 0;
- lineno = 0;
-
- if (size) {
- htmlf(numberfmt, ++lineno);
- while(idx < size - 1) { // skip absolute last newline
- if (buf[idx] == '\n')
- htmlf(numberfmt, ++lineno);
- idx++;
- }
- }
- html("</pre></td>\n");
html("<td class='lines'><pre><code>");