in internal/lib/env.go [31:59]
func LoadEnvironmentStateFile(path string) (map[string]string, error) {
if !fs.FileExists(path) {
return nil, fmt.Errorf("env file '%s' does not exist", path)
}
file, err := os.Open(path)
if err != nil {
return nil, fmt.Errorf("failed to open env file '%s': %w", path, err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
env := make(map[string]string)
for scanner.Scan() {
line := scanner.Text()
if strings.Contains(line, "=") {
parts := strings.SplitN(line, "=", 2) // Split at the first "=" only
value := parts[1]
if len(value) >= 2 && value[0] == '"' && value[len(value)-1] == '"' {
// Remove leading and trailing quotes
value = value[1 : len(value)-1]
}
env[parts[0]] = value
}
}
return env, nil
}