code: func (r *lsRun) parseSearchRequests(ctx context.Context, args []string) ([]*pb.SearchBuildsRequest, error) {
  	baseReq, err := r.parseBaseRequest(ctx)
  	if err != nil {
  		return nil, err
  	}
  
  	if len(args) == 0 {
  		return []*pb.SearchBuildsRequest{baseReq}, nil
  	}
  
  	ret := make([]*pb.SearchBuildsRequest, len(args))
  	for i, path := range args {
  		ret[i] = proto.Clone(baseReq).(*pb.SearchBuildsRequest)
  		var err error
  		if ret[i].Predicate.Builder, err = r.parsePath(path); err != nil {
  			return nil, fmt.Errorf("invalid path %q: %s", path, err)
  		}
  	}
  	return ret, nil
  }
docs: // parseSearchRequests converts flags and arguments to search requests.