code: func scanSecrets(r io.Reader) ([]secretPair, error) {
  	var pairs []secretPair
  
  	lexer := shlex.NewLexer(r)
  
  	for {
  		word, err := lexer.Next()
  		if err != nil {
  			if err == io.EOF {
  				return pairs, nil
  			}
  			return nil, fmt.Errorf("Error reading input file. %s", err)
  		}
  
  		tokens := strings.SplitN(word, "=", 2)
  		if len(tokens) < 2 {
  			return nil, fmt.Errorf("Error parsing secret %q", word)
  		}
  
  		key := tokens[0]
  		value := tokens[1]
  
  		if key == "" || value == "" {
  			return nil, fmt.Errorf("Error parsing secret %q", word)
  		}
  
  		pairs = append(pairs, secretPair{key: key, value: value})
  	}
  }
docs: // scanSecrets reads secret pairs using an UNIX shell-like syntax parser. Empty
  // lines and comments are ignored.