func init() { var buf bytes.Buffer tw := tabwriter.NewWriter(&buf, 10, 8, 4, '\t', 0) for _, cmd := range commands { fmt.Fprintf(tw, "cbt %s\t%s\n", cmd.Name, cmd.Desc) } tw.Flush() buf.WriteString(configHelp) cmdSummary = buf.String() } var configHelp = ` For convenience, values of the -project, -instance, -creds, -admin-endpoint and -data-endpoint flags may be specified in ` + cbtrc.Filename() + ` in this format: project = my-project-123 instance = my-instance creds = path-to-account-key.json admin-endpoint = hostname:port data-endpoint = hostname:port All values are optional, and all will be overridden by flags. ` var commands = []struct { Name, Desc string do func(context.Context, ...string) Usage string Required cbtrc.RequiredFlags }{ {
var cmdSummary string // generated in init, below func init() { var buf bytes.Buffer tw := tabwriter.NewWriter(&buf, 10, 8, 4, '\t', 0) for _, cmd := range commands { fmt.Fprintf(tw, "cbt %s\t%s\n", cmd.Name, cmd.Desc) } tw.Flush() buf.WriteString(configHelp) cmdSummary = buf.String() } var configHelp = ` For convenience, values of the -project, -instance and -creds flags may be specified in ` + cbtrc.Filename() + ` in this format: project = my-project-123 instance = my-instance creds = path-to-account-key.json All values are optional, and all will be overridden by flags. ` var commands = []struct { Name, Desc string do func(context.Context, ...string) Usage string }{ { Name: "count", Desc: "Count rows in a table", do: doCount,