// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Doc (usually run as go doc) accepts zero, one or two arguments. // // Zero arguments: // // go doc // // Show the documentation for the package in the current directory. // // One argument: // // go doc // go doc [.] // go doc [.][.] // go doc [.][.] // // The first item in this list that succeeds is the one whose documentation // is printed. If there is a symbol but no package, the package in the current // directory is chosen. However, if the argument begins with a capital // letter it is always assumed to be a symbol in the current directory. // // Two arguments: // // go doc [.] // // Show the documentation for the package, symbol, and method or field. The // first argument must be a full package path. This is similar to the // command-line usage for the godoc command. // // For commands, unless the -cmd flag is present "go doc command" // shows only the package-level docs for the package. // // The -src flag causes doc to print the full source code for the symbol, such // as the body of a struct, function or method. // // The -all flag causes doc to print all documentation for the package and // all its visible symbols. The argument must identify a package. // // For complete documentation, run "go help doc". package main import ( "cmd/internal/doc" "cmd/internal/telemetry/counter" "os" ) func main() { counter.Open() counter.Inc("doc/invocations") doc.Main(os.Args[1:]) }