code: func newOutputFuncStderr(u *url.URL) (Output, error) {
  	if u.User != nil {
  		return nil, fmt.Errorf("Can not use a username with stderr.")
  	}
  	if u.Host != "" {
  		return nil, fmt.Errorf("Can not use a hostname with stderr.")
  	}
  	if u.Path != "" {
  		return nil, fmt.Errorf("Can not use a path with stderr.")
  	}
  	if u.Fragment != "" {
  		return nil, fmt.Errorf("Can not use a fragment with stderr.")
  	}
  
  	// Parse the RawQuery so we can extract the format string.
  	values, err := url.ParseQuery(u.RawQuery)
  	if err != nil {
  		return nil, err
  	}
  
  	// Get the values we need for setting up the Output object.
  	format := values.Get("format")
  	delete(values, "format")
  	color := values.Get("color")
  	delete(values, "color")
  
  	// Check that nothing else was defined.
  	if len(values) != 0 {
  		bad := make([]string, 0, len(values))
  		for k, _ := range values {
  			bad = append(bad, k)
  		}
  		return nil, fmt.Errorf(
  			"Unknown parameters: %s", strings.Join(bad, ","))
  	}
  
  	// The output object we will return.
  	return NewIOWriterOutput(os.Stderr, format, color)
  }
docs: // Parses a URL that starts with stderr://