summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd/godoc/godoc.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go
index de5235673..c6f26a839 100644
--- a/src/cmd/godoc/godoc.go
+++ b/src/cmd/godoc/godoc.go
@@ -470,16 +470,23 @@ func parse(path string, mode uint) (*ast.File, *parseErrors) {
// Styler implements a printer.Styler.
type Styler struct {
- highlight string;
+ linetags bool;
+ highlight string;
}
// Use the defaultStyler when there is no specific styler.
+// The defaultStyler does not emit line tags since they may
+// interfere with tags emitted by templates.
+// TODO(gri): Should emit line tags at the beginning of a line;
+// never in the middle of code.
var defaultStyler Styler
func (s *Styler) LineTag(line int) (text []byte, tag printer.HTMLTag) {
- tag = printer.HTMLTag{fmt.Sprintf(`<a id="L%d">`, line), "</a>"};
+ if s.linetags {
+ tag = printer.HTMLTag{fmt.Sprintf(`<a id="L%d">`, line), "</a>"}
+ }
return;
}
@@ -932,7 +939,7 @@ func serveFile(c *http.Conn, r *http.Request) {
return;
case ext == ".go":
- serveGoSource(c, r, path, &Styler{highlight: r.FormValue("h")});
+ serveGoSource(c, r, path, &Styler{linetags: true, highlight: r.FormValue("h")});
return;
}