req.ReferenceKind = xpb.CrossReferencesRequest_ALL_REFERENCES case "none": req.ReferenceKind = xpb.CrossReferencesRequest_NO_REFERENCES default: return fmt.Errorf("unknown reference kind: %q", refKind) } switch docKind { case "all": req.DocumentationKind = xpb.CrossReferencesRequest_ALL_DOCUMENTATION case "none": req.DocumentationKind = xpb.CrossReferencesRequest_NO_DOCUMENTATION default: return fmt.Errorf("unknown documentation kind: %q", docKind) } logRequest(req) reply, err := xs.CrossReferences(ctx, req) if err != nil { return err } if reply.NextPageToken != "" { defer log.Printf("Next page token: %s", reply.NextPageToken) } return displayXRefs(reply) }) cmdNode = newCommand("node", "[--filters factFilter1,factFilter2,...] [--max_fact_size] <ticket>", "Retrieve a node's facts", func(flag *flag.FlagSet) { flag.StringVar(&nodeFilters, "filters", "", "Comma-separated list of node fact filters (default returns all)") flag.IntVar(&factSizeThreshold, "max_fact_size", 64, "Maximum size of fact values to display. Facts with byte lengths longer than this value will only have their fact names displayed.")