Add tilde path expansion for state files

This commit is contained in:
AI Bot
2026-05-03 11:48:05 +02:00
committed by Riyyi
parent 578eb16ab2
commit 399a7157e2
+25 -9
View File
@@ -3,6 +3,7 @@ package input
import (
"bufio"
"os"
"path/filepath"
"strings"
)
@@ -10,7 +11,8 @@ func ReadPackages(stateFiles []string) (map[string]bool, error) {
packages := make(map[string]bool)
for _, file := range stateFiles {
if err := readStateFile(file, packages); err != nil {
expanded := expandPath(file)
if err := readStateFile(expanded, packages); err != nil {
return nil, err
}
}
@@ -22,6 +24,28 @@ func ReadPackages(stateFiles []string) (map[string]bool, error) {
return packages, nil
}
// -----------------------------------------
// private
func expandPath(path string) string {
if strings.HasPrefix(path, "~/") {
home, err := os.UserHomeDir()
if err != nil {
return path
}
return filepath.Join(home, path[2:])
}
return path
}
func normalizePackageName(name string) string {
name = strings.TrimSpace(name)
if name == "" || strings.HasPrefix(name, "#") {
return ""
}
return name
}
func readStateFile(path string, packages map[string]bool) error {
file, err := os.Open(path)
if err != nil {
@@ -60,11 +84,3 @@ func readStdin(packages map[string]bool) error {
return scanner.Err()
}
func normalizePackageName(name string) string {
name = strings.TrimSpace(name)
if name == "" || strings.HasPrefix(name, "#") {
return ""
}
return name
}