mirror of
https://github.com/golang/go
synced 2024-11-23 06:00:08 -07:00
go/doc: use regexp for -notes instead of comma-sep. list
-notes="BUG|TODO" instead of -notes="BUG,TODO". Permits -notes=".*" to see all notes. R=cnicolaou CC=golang-dev https://golang.org/cl/7951043
This commit is contained in:
parent
5bbdf40544
commit
5e6a1a3f48
@ -67,6 +67,9 @@ The flags are:
|
||||
-maxresults=10000
|
||||
maximum number of full text search results shown
|
||||
(no full text index is built if maxresults <= 0)
|
||||
-notes="BUG"
|
||||
regular expression matching note markers to show
|
||||
(e.g., "BUG|TODO", ".*")
|
||||
-html
|
||||
print HTML in command-line mode
|
||||
-goroot=$GOROOT
|
||||
|
@ -84,15 +84,11 @@ var (
|
||||
cmdHandler docServer
|
||||
pkgHandler docServer
|
||||
|
||||
// which code 'Notes' to show
|
||||
notes = flag.String("notes", "BUG", "comma separated list of Note markers as per pkg:go/doc")
|
||||
// list of 'Notes' to show
|
||||
notesToShow []string
|
||||
// source code notes
|
||||
notes = flag.String("notes", "BUG", "regular expression matching note markers to show")
|
||||
)
|
||||
|
||||
func initHandlers() {
|
||||
notesToShow = strings.Split(*notes, ",")
|
||||
|
||||
fileServer = http.FileServer(&httpFS{fs})
|
||||
cmdHandler = docServer{"/cmd/", "/src/cmd"}
|
||||
pkgHandler = docServer{"/pkg/", "/src/pkg"}
|
||||
@ -1100,13 +1096,18 @@ func (h *docServer) getPageInfo(abspath, relpath string, mode PageInfoMode) (inf
|
||||
|
||||
// collect any notes that we want to show
|
||||
if info.PDoc.Notes != nil {
|
||||
// could regexp.Compile only once per godoc, but probably not worth it
|
||||
if rx, err := regexp.Compile(*notes); err == nil {
|
||||
for m, n := range info.PDoc.Notes {
|
||||
if rx.MatchString(m) {
|
||||
if info.Notes == nil {
|
||||
info.Notes = make(map[string][]*doc.Note)
|
||||
for _, m := range notesToShow {
|
||||
if n := info.PDoc.Notes[m]; n != nil {
|
||||
}
|
||||
info.Notes[m] = n
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// show source code
|
||||
|
Loading…
Reference in New Issue
Block a user