source.go 702 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package query
  2. import (
  3. "context"
  4. "github.com/Jguer/aur"
  5. "github.com/hashicorp/go-multierror"
  6. )
  7. type SearchVerbosity int
  8. // Verbosity settings for search.
  9. const (
  10. NumberMenu SearchVerbosity = iota
  11. Detailed
  12. Minimal
  13. )
  14. // queryAUR searches AUR and narrows based on subarguments.
  15. func queryAUR(ctx context.Context,
  16. aurClient aur.QueryClient,
  17. pkgS []string, searchBy string,
  18. ) ([]aur.Pkg, error) {
  19. var (
  20. err error
  21. by = getSearchBy(searchBy)
  22. )
  23. for _, word := range pkgS {
  24. r, errM := aurClient.Get(ctx, &aur.Query{
  25. Needles: []string{word},
  26. By: by,
  27. Contains: true,
  28. })
  29. if errM == nil {
  30. return r, nil
  31. }
  32. err = multierror.Append(err, errM)
  33. }
  34. return nil, err
  35. }