code: func KeyValuesFromLines(content []byte) ([]Pair, error) {
  	var kvs []Pair
  
  	scanner := bufio.NewScanner(bytes.NewReader(content))
  	currentLine := 0
  	for scanner.Scan() {
  		// Process the current line, retrieving a key/value pair if
  		// possible.
  		scannedBytes := scanner.Bytes()
  		kv, err := KeyValuesFromLine(scannedBytes, currentLine)
  		if err != nil {
  			return nil, err
  		}
  		currentLine++
  
  		if len(kv.Key) == 0 {
  			// no key means line was empty or a comment
  			continue
  		}
  
  		kvs = append(kvs, kv)
  	}
  	return kvs, nil
  }
docs: // KeyValuesFromLines parses given content in to a list of key-value pairs.