summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show 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.c25
5 files changed, 27 insertions, 12 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,12 +24,4 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size)
html("<table summary='blob content' class='blob'>\n");
- if (ctx.repo->source_filter) {
- html("<tr><td class='lines'><pre><code>");
- ctx.repo->source_filter->argv[1] = xstrdup(name);
- cgit_open_filter(ctx.repo->source_filter);
- write(STDOUT_FILENO, buf, size);
- cgit_close_filter(ctx.repo->source_filter);
- html("</code></pre></td></tr></table>\n");
- return;
- }
+ if (ctx.cfg.enable_tree_linenumbers) {
html("<tr><td class='linenumbers'><pre>");
@@ -47,2 +39,17 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size)
html("</pre></td>\n");
+ }
+ else {
+ html("<tr>\n");
+ }
+
+ if (ctx.repo->source_filter) {
+ html("<td class='lines'><pre><code>");
+ ctx.repo->source_filter->argv[1] = xstrdup(name);
+ cgit_open_filter(ctx.repo->source_filter);
+ write(STDOUT_FILENO, buf, size);
+ cgit_close_filter(ctx.repo->source_filter);
+ html("</code></pre></td></tr></table>\n");
+ return;
+ }
+
html("<td class='lines'><pre><code>");