about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xssn.at>2009-08-09 20:42:45 +0000
committerLars Hjemli <hjemli@gmail.com>2009-08-21 14:17:49 +0200
commitd67cc7f9d556650438e421cdcda37bc52710bffd (patch)
treedf131c58de7c712550f124f8fb15aef303ff6054
parentui-tree.c: show line numbers when highlighting (diff)
downloadcgit-pink-d67cc7f9d556650438e421cdcda37bc52710bffd.tar.gz
cgit-pink-d67cc7f9d556650438e421cdcda37bc52710bffd.zip
Add 'linenumbers' config option
Signed-off-by: Florian Pritz <bluewind@xssn.at>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.c2
-rw-r--r--cgit.h1
-rw-r--r--cgitrc.5.txt4
-rw-r--r--ui-tree.c27
4 files changed, 23 insertions, 11 deletions
diff --git a/cgit.c b/cgit.c
index b0e1c44..a4788cb 100644
--- a/cgit.c
+++ b/cgit.c
@@ -66,6 +66,8 @@ void config_cb(const char *name, const char *value)
 		ctx.cfg.index_info = xstrdup(value);
 	else if (!strcmp(name, "logo-link"))
 		ctx.cfg.logo_link = xstrdup(value);
+	else if (!strcmp(name, "linenumbers"))
+		ctx.cfg.linenumbers = atoi(value);
 	else if (!strcmp(name, "module-link"))
 		ctx.cfg.module_link = xstrdup(value);
 	else if (!strcmp(name, "virtual-root")) {
diff --git a/cgit.h b/cgit.h
index adb8da4..2fdc531 100644
--- a/cgit.h
+++ b/cgit.h
@@ -174,6 +174,7 @@ struct cgit_config {
 	int enable_log_filecount;
 	int enable_log_linecount;
 	int local_time;
+	int linenumbers;
 	int max_repo_count;
 	int max_commit_count;
 	int max_lock_attempts;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 3c35b02..a762ccc 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -146,6 +146,10 @@ logo-link::
 	calculated url of the repository index page will be used. Default
 	value: none.
 
+linenumbers::
+	If set to "1" lines in tree view will have numbers.
+	Default value: "0".
+
 max-commit-count::
 	Specifies the number of entries to list per page in "log" view. Default
 	value: "50".
diff --git a/ui-tree.c b/ui-tree.c
index 7bf2ad2..f64e6e0 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -23,19 +23,24 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size)
 
 	html("<table summary='blob content' class='blob'>\n");
 
-	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++;
+	if (ctx.cfg.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");
 	}
-	html("</pre></td>\n");
 
 	if (ctx.repo->source_filter) {
 		html("<td class='lines'><pre><code>");