diff --git a/main.go b/main.go index 695576c..8001f34 100644 --- a/main.go +++ b/main.go @@ -360,11 +360,14 @@ func statusCmd() error { return err } + var totalPackages, stalePackages, totalStale int + for _, entry := range entries { if !entry.IsDir() || strings.HasPrefix(entry.Name(), ".") { continue } + totalPackages++ pkgDir := filepath.Join(repo, entry.Name()) configPath := filepath.Join(pkgDir, configFileName) cfg, err := loadConfig(configPath) @@ -375,6 +378,7 @@ func statusCmd() error { targetRoot, err := selectTarget(cfg) if err != nil { if errors.Is(err, errTargetDisabled) { + totalPackages-- // don't count disabled packages continue } return fmt.Errorf("%s: %w", entry.Name(), err) @@ -390,11 +394,19 @@ func statusCmd() error { continue } + stalePackages++ + totalStale += len(stale) fmt.Printf("%s: stale links (%d)\n", entry.Name(), len(stale)) for _, path := range stale { fmt.Printf(" %s\n", path) } } + if totalPackages > 0 { + fmt.Printf("\n%d packages, %d stale links in %d packages\n", totalPackages, totalStale, stalePackages) + } else { + fmt.Println("\nno packages found") + } + return nil }