mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/doc: add option to output a clean one-line symbol representation
Currently there is no way for go doc to output a clean
one-line symbol representation of types, functions, vars
and consts without documentation lines or other text lines
added.
For example `go doc fmt` has a huge introduction so if you
pass that to grep or fzf to search a symbol let say scan
`go doc fmt | grep scan` you get way to many false
positives.
Added a `-short` flag to be able to do
`go doc -short fmt | grep scan` instead which will result in
just the symbols you are looking for.
func Fscan(r io.Reader, a ...interface{}) (n int, err error)
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
func Fscanln(r io.Reader, a ...interface{}) (n int, err error)
func Sscan(str string, a ...interface{}) (n int, err error)
func Sscanf(str string, format string, a ...interface{}) (n int, err error)
func Sscanln(str string, a ...interface{}) (n int, err error)
Fixes #32597
Change-Id: I77a73838adc512c8d1490f5a82075de6b0462a31
Reviewed-on: https://go-review.googlesource.com/c/go/+/184017
Run-TryBot: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
This commit is contained in:
parent
b7e9c7a391
commit
fa42157d98
5 changed files with 32 additions and 4 deletions
|
|
@ -507,24 +507,34 @@ func (pkg *Package) allDoc() {
|
|||
func (pkg *Package) packageDoc() {
|
||||
defer pkg.flush()
|
||||
|
||||
doc.ToText(&pkg.buf, pkg.doc.Doc, "", indent, indentedWidth)
|
||||
pkg.newlines(1)
|
||||
if !short {
|
||||
doc.ToText(&pkg.buf, pkg.doc.Doc, "", indent, indentedWidth)
|
||||
pkg.newlines(1)
|
||||
}
|
||||
|
||||
if pkg.pkg.Name == "main" && !showCmd {
|
||||
// Show only package docs for commands.
|
||||
return
|
||||
}
|
||||
|
||||
pkg.newlines(2) // Guarantee blank line before the components.
|
||||
if !short {
|
||||
pkg.newlines(2) // Guarantee blank line before the components.
|
||||
}
|
||||
|
||||
pkg.valueSummary(pkg.doc.Consts, false)
|
||||
pkg.valueSummary(pkg.doc.Vars, false)
|
||||
pkg.funcSummary(pkg.doc.Funcs, false)
|
||||
pkg.typeSummary()
|
||||
pkg.bugs()
|
||||
if !short {
|
||||
pkg.bugs()
|
||||
}
|
||||
}
|
||||
|
||||
// packageClause prints the package clause.
|
||||
func (pkg *Package) packageClause() {
|
||||
if short {
|
||||
return
|
||||
}
|
||||
importPath := pkg.build.ImportComment
|
||||
if importPath == "" {
|
||||
importPath = pkg.build.ImportPath
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue