filter.go 796 B

123456789101112131415161718192021222324252627282930
  1. package query
  2. import (
  3. "github.com/leonelquinteros/gotext"
  4. "github.com/Jguer/yay/v12/pkg/settings/parser"
  5. "github.com/Jguer/yay/v12/pkg/text"
  6. )
  7. func RemoveInvalidTargets(logger *text.Logger, targets []string, mode parser.TargetMode) []string {
  8. filteredTargets := make([]string, 0)
  9. for _, target := range targets {
  10. dbName, _ := text.SplitDBFromName(target)
  11. if dbName == "aur" && !mode.AtLeastAUR() {
  12. logger.Warnln(gotext.Get("%s: can't use target with option --repo -- skipping", text.Cyan(target)))
  13. continue
  14. }
  15. if dbName != "aur" && dbName != "" && !mode.AtLeastRepo() {
  16. logger.Warnln(gotext.Get("%s: can't use target with option --aur -- skipping", text.Cyan(target)))
  17. continue
  18. }
  19. filteredTargets = append(filteredTargets, target)
  20. }
  21. return filteredTargets
  22. }