]> Cypherpunks repositories - gostls13.git/commitdiff
godoc: use FormatText for formating code in html template.
authorJohan Euphrosine <proppy@google.com>
Fri, 16 Mar 2012 22:33:05 +0000 (15:33 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 16 Mar 2012 22:33:05 +0000 (15:33 -0700)
R=golang-dev, rsc, r, adg, gri, r
CC=golang-dev
https://golang.org/cl/5835046

src/cmd/godoc/template.go

index 51b63a804fecda0f6d16b8996a0a2fe1420399f3..d709baef493389f164ae26e3fecaad474b4facb6 100644 (file)
@@ -32,6 +32,7 @@
 package main
 
 import (
+       "bytes"
        "fmt"
        "log"
        "regexp"
@@ -98,10 +99,11 @@ func code(file string, arg ...interface{}) (s string, err error) {
        text = strings.Trim(text, "\n")
        // Replace tabs by spaces, which work better in HTML.
        text = strings.Replace(text, "\t", "    ", -1)
-       // Escape the program text for HTML.
-       text = template.HTMLEscapeString(text)
+       var buf bytes.Buffer
+       // HTML-escape text and syntax-color comments like elsewhere.
+       FormatText(&buf, []byte(text), -1, true, "", nil)
        // Include the command as a comment.
-       text = fmt.Sprintf("<pre><!--{{%s}}\n-->%s</pre>", command, text)
+       text = fmt.Sprintf("<pre><!--{{%s}}\n-->%s</pre>", command, buf.Bytes())
        return text, nil
 }