summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-07-22 22:46:15 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-07-22 22:47:18 (UTC)
commitf405d0bf75427c627778027e9900359335d6774e (patch) (side-by-side diff)
tree2db75faf97df382edc7667cd8cd06e833361a937
parenteb45342e735818b3c68cbab9b61b23e79ae74418 (diff)
downloadcgit-f405d0bf75427c627778027e9900359335d6774e.zip
cgit-f405d0bf75427c627778027e9900359335d6774e.tar.gz
cgit-f405d0bf75427c627778027e9900359335d6774e.tar.bz2
Add support for line number in url fragment
With this change, urls like http://hjemli.net/git/cgit/tree/ui-tree.c#43 can be used to jump directly to the specified line number. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--cgit.css9
-rw-r--r--ui-tree.c2
2 files changed, 10 insertions, 1 deletions
diff --git a/cgit.css b/cgit.css
index 43a40a3..54bbfcc 100644
--- a/cgit.css
+++ b/cgit.css
@@ -203,24 +203,33 @@ td.ls-mode {
table.blob {
margin-top: 0.5em;
border-top: solid 1px black;
}
table.blob td.no {
border-right: solid 1px black;
color: black;
background-color: #eee;
text-align: right;
}
+table.blob td.no a {
+ color: black;
+}
+
+table.blob td.no a:hover {
+ color: black;
+ text-decoration: none;
+}
+
table.blob td.txt {
white-space: pre;
font-family: monospace;
padding-left: 0.5em;
}
table.nowrap td {
white-space: nowrap;
}
table.commit-info {
border-collapse: collapse;
diff --git a/ui-tree.c b/ui-tree.c
index 75ce449..634132f 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -34,25 +34,25 @@ static void print_object(const unsigned char *sha1, char *path)
html(" blob: <a href='");
html_attr(cgit_pageurl(cgit_query_repo, "blob", fmt("id=%s", sha1_to_hex(sha1))));
htmlf("'>%s</a>",sha1_to_hex(sha1));
html("<table class='blob'>\n");
idx = 0;
start = 0;
lineno = 0;
while(idx < size) {
if (buf[idx] == '\n') {
buf[idx] = '\0';
- htmlf("<tr><td class='no'>%d</td><td class='txt'>",
+ htmlf("<tr><td class='no'><a name='%d'>%1$d</a></td><td class='txt'>",
++lineno);
html_txt(buf + start);
html("</td></tr>\n");
start = idx + 1;
}
idx++;
}
html("</table>\n");
}
static int ls_item(const unsigned char *sha1, const char *base, int baselen,