code: func (c *Certificates) Set(value string) error {
  	certificates := strings.Split(value, ";")
  	for _, certificate := range certificates {
  		files := strings.Split(certificate, ",")
  		if len(files) != 2 {
  			return fmt.Errorf("bad certificates format: %s", value)
  		}
  		*c = append(*c, Certificate{
  			CertFile: FileOrContent(files[0]),
  			KeyFile:  FileOrContent(files[1]),
  		})
  	}
  	return nil
  }
docs: // Set is the method to set the flag value, part of the flag.Value interface.
  // Set's argument is a string to be parsed to set the flag.
  // It's a comma-separated list, so we split it.