cmd/stringer: move away from using os.Args[0]
stringer's usage currently uses os.Args[0] to refer to the program name as a defensive measure in case stringer is compiled and then run using a name other than stringer, e.g. mystringer. However, the following lines of the usage docs hardcode "stringer." So it seems this has little benefit. Indeed this style of using os.Args[0] can make the usage information of stringer extremely ugly when stringer itself is invoked with an absolute path: Usage of /tmp/tmp.ahddh3ZjE7/.gobincache/golang.org/x/tools/@v/v0.0.0-20181030000716-a0a13e073c7b/golang.org/x/tools/cmd/stringer/stringer: stringer [flags] -type T [directory] stringer [flags] -type T files... # Must be a single package ... Instead, opt for the simpler approach of hardcoding stringer throughout. Change-Id: Ia296c8d9a91c94e77b7cc2b6242908c959fb5985 Reviewed-on: https://go-review.googlesource.com/c/145799 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Alan Donovan <adonovan@google.com> Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
parent
bb28844c46
commit
240a8bfde1
|
@ -87,7 +87,7 @@ var (
|
|||
|
||||
// Usage is a replacement usage function for the flags package.
|
||||
func Usage() {
|
||||
fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
|
||||
fmt.Fprintf(os.Stderr, "Usage of stringer:\n")
|
||||
fmt.Fprintf(os.Stderr, "\tstringer [flags] -type T [directory]\n")
|
||||
fmt.Fprintf(os.Stderr, "\tstringer [flags] -type T files... # Must be a single package\n")
|
||||
fmt.Fprintf(os.Stderr, "For more information, see:\n")
|
||||
|
|
Loading…
Reference in New Issue