code: func (ha *hashAlgoFlag) Set(value string) error {
  	val := api.HashAlgo_value[strings.ToUpper(value)]
  	if val == 0 {
  		return fmt.Errorf("unknown hash algo %q, should be one of: %s", value, allAlgos)
  	}
  	*ha = hashAlgoFlag(val)
  	return nil
  }
docs: // Set is called by 'flag' package when parsing command line options.