github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/lib/fsutil/load.go (about)

     1  package fsutil
     2  
     3  import (
     4  	"bufio"
     5  	"io"
     6  	"os"
     7  )
     8  
     9  func loadLines(filename string) ([]string, error) {
    10  	file, err := os.Open(filename)
    11  	if err != nil {
    12  		return nil, err
    13  	}
    14  	defer file.Close()
    15  	return readLines(file)
    16  }
    17  
    18  func readLines(reader io.Reader) ([]string, error) {
    19  	scanner := bufio.NewScanner(reader)
    20  	lines := make([]string, 0)
    21  	for scanner.Scan() {
    22  		line := scanner.Text()
    23  		if len(line) < 1 {
    24  			continue
    25  		}
    26  		if line[0] == '#' {
    27  			continue
    28  		}
    29  		lines = append(lines, line)
    30  	}
    31  	if err := scanner.Err(); err != nil {
    32  		return lines, err
    33  	}
    34  	return lines, nil
    35  }