// ParseFile loads a TOML configuration from a provided path and returns the // AST produced from the TOML parser. This function was originally provided by naoina/toml func ParseFile(fpath string) (*ast.Table, error) { contents, err := ioutil.ReadFile(fpath) if err != nil { return nil, err } return toml.Parse(contents) }
// parseFile loads a TOML configuration from a provided path and // returns the AST produced from the TOML parser. When loading the file, it // will find environment variables and replace them. func parseFile(fpath string) (*ast.Table, error) { contents, err := ioutil.ReadFile(fpath) if err != nil { return nil, err } env_vars := envVarRe.FindAll(contents, -1) for _, env_var := range env_vars { env_val := os.Getenv(strings.TrimPrefix(string(env_var), "$")) if env_val != "" { contents = bytes.Replace(contents, env_var, []byte(env_val), 1) } } return toml.Parse(contents) }