1
0
mirror of https://github.com/golang/go synced 2024-11-12 03:00:22 -07:00

godoc: show example function doc comments in UI

R=gri
CC=golang-dev
https://golang.org/cl/5677061
This commit is contained in:
Andrew Gerrand 2012-02-16 12:43:22 +11:00
parent 11e113db57
commit 7c9662f461
3 changed files with 11 additions and 4 deletions

View File

@ -4,11 +4,12 @@
</div> </div>
<div class="expanded"> <div class="expanded">
<p class="exampleHeading">▾ Example{{example_suffix .Name}}</p> <p class="exampleHeading">▾ Example{{example_suffix .Name}}</p>
{{with .Doc}}<p>{{html .}}</p>{{end}}
<p>Code:</p> <p>Code:</p>
<pre class="code">{{.Code}}</pre> <pre class="code">{{.Code}}</pre>
{{if .Output}} {{with .Output}}
<p>Output:</p> <p>Output:</p>
<pre class="output">{{html .Output}}</pre> <pre class="output">{{html .}}</pre>
{{end}} {{end}}
</div> </div>
</div> </div>

View File

@ -539,8 +539,8 @@ func example_htmlFunc(funcName string, examples []*ast.Example, fset *token.File
} }
err := exampleHTML.Execute(&buf, struct { err := exampleHTML.Execute(&buf, struct {
Name, Code, Output string Name, Doc, Code, Output string
}{eg.Name, code, out}) }{eg.Name, eg.Doc, code, out})
if err != nil { if err != nil {
log.Print(err) log.Print(err)
} }

View File

@ -16,6 +16,7 @@ import (
type Example struct { type Example struct {
Name string // name of the item being exemplified Name string // name of the item being exemplified
Doc string // example function doc string
Code Node Code Node
Comments []*CommentGroup Comments []*CommentGroup
Output string // expected output Output string // expected output
@ -45,8 +46,13 @@ func Examples(files ...*File) []*Example {
if !isTest(name, "Example") { if !isTest(name, "Example") {
continue continue
} }
var doc string
if f.Doc != nil {
doc = f.Doc.Text()
}
flist = append(flist, &Example{ flist = append(flist, &Example{
Name: name[len("Example"):], Name: name[len("Example"):],
Doc: doc,
Code: f.Body, Code: f.Body,
Comments: file.Comments, Comments: file.Comments,
Output: exampleOutput(f, file.Comments), Output: exampleOutput(f, file.Comments),