package infra

import (
	"fmt"
	"os"
	"path/filepath"
)

// SSHConfigRead lee y parsea el archivo ~/.ssh/config. Si el archivo no existe,
// retorna una lista vacia sin error (config todavia no creado).
func SSHConfigRead() ([]SSHConfigEntry, error) {
	path := filepath.Join(os.Getenv("HOME"), ".ssh", "config")
	data, err := os.ReadFile(path)
	if err != nil {
		if os.IsNotExist(err) {
			return nil, nil
		}
		return nil, fmt.Errorf("ssh config read: %w", err)
	}
	return SSHConfigParse(string(data)), nil
}
