Commit 2ba3d5fc authored by Dmitri Shuralyov's avatar Dmitri Shuralyov Committed by Ian Lance Taylor

cmd/go: remove invalid space in import comment docs

Generate package comment in alldocs.go using line comments rather than
general comments. This scales better, general comments cannot contain the
"*/" character sequence. Line comments do not have any restrictions on
the comment text that can be contained.

Remove the dependency on sed, which is not cross-platform, not go-gettable
external command.

Remove trailing whitespace from usage string in test.go. It's unnecessary.

Fixes #16030.

Change-Id: I3c0bc9955e7c7603c3d1fb4878218b0719d02e04
Reviewed-on: https://go-review.googlesource.com/23968Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent c83e6f50
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -214,15 +214,7 @@ var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} ...@@ -214,15 +214,7 @@ var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}}
{{end}}{{.Long | trim}} {{end}}{{.Long | trim}}
` `
var documentationTemplate = `// Copyright 2011 The Go Authors. All rights reserved. var documentationTemplate = `{{range .}}{{if .Short}}{{.Short | capitalize}}
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// DO NOT EDIT THIS FILE. GENERATED BY mkalldocs.sh.
// Edit the documentation in other files and rerun mkalldocs.sh to generate this one.
/*
{{range .}}{{if .Short}}{{.Short | capitalize}}
{{end}}{{if .Runnable}}Usage: {{end}}{{if .Runnable}}Usage:
...@@ -231,9 +223,39 @@ var documentationTemplate = `// Copyright 2011 The Go Authors. All rights reserv ...@@ -231,9 +223,39 @@ var documentationTemplate = `// Copyright 2011 The Go Authors. All rights reserv
{{end}}{{.Long | trim}} {{end}}{{.Long | trim}}
{{end}}*/ {{end}}`
package main
` // commentWriter writes a Go comment to the underlying io.Writer,
// using line comment form (//).
type commentWriter struct {
W io.Writer
wroteSlashes bool // Wrote "//" at the beginning of the current line.
}
func (c *commentWriter) Write(p []byte) (int, error) {
var n int
for i, b := range p {
if !c.wroteSlashes {
s := "//"
if b != '\n' {
s = "// "
}
if _, err := io.WriteString(c.W, s); err != nil {
return n, err
}
c.wroteSlashes = true
}
n0, err := c.W.Write(p[i : i+1])
n += n0
if err != nil {
return n, err
}
if b == '\n' {
c.wroteSlashes = false
}
}
return len(p), nil
}
// An errWriter wraps a writer, recording whether a write error occurred. // An errWriter wraps a writer, recording whether a write error occurred.
type errWriter struct { type errWriter struct {
...@@ -310,10 +332,18 @@ func help(args []string) { ...@@ -310,10 +332,18 @@ func help(args []string) {
// 'go help documentation' generates doc.go. // 'go help documentation' generates doc.go.
if arg == "documentation" { if arg == "documentation" {
fmt.Println("// Copyright 2011 The Go Authors. All rights reserved.")
fmt.Println("// Use of this source code is governed by a BSD-style")
fmt.Println("// license that can be found in the LICENSE file.")
fmt.Println()
fmt.Println("// DO NOT EDIT THIS FILE. GENERATED BY mkalldocs.sh.")
fmt.Println("// Edit the documentation in other files and rerun mkalldocs.sh to generate this one.")
fmt.Println()
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
printUsage(buf) printUsage(buf)
usage := &Command{Long: buf.String()} usage := &Command{Long: buf.String()}
tmpl(os.Stdout, documentationTemplate, append([]*Command{usage}, commands...)) tmpl(&commentWriter{W: os.Stdout}, documentationTemplate, append([]*Command{usage}, commands...))
fmt.Println("package main")
return return
} }
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
set -e set -e
go build -o go.latest go build -o go.latest
./go.latest help documentation | sed 's; \*/; * /;' >alldocs.go ./go.latest help documentation >alldocs.go
gofmt -w alldocs.go gofmt -w alldocs.go
rm go.latest rm go.latest
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment