Skip to content

Commit

Permalink
Fix #919, require explicit sort mode defined
Browse files Browse the repository at this point in the history
  • Loading branch information
Jguer committed Apr 4, 2019
1 parent f21a5a7 commit cf12fc6
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 24 deletions.
36 changes: 25 additions & 11 deletions cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,20 +312,23 @@ func displayNumberMenu(pkgS []string) (err error) {
return fmt.Errorf("No packages match search")
}

if config.SortMode == bottomUp {
if mode == modeAUR || mode == modeAny {
aq.printSearch(lenpq + 1)
}
switch config.SortMode {
case topDown:
if mode == modeRepo || mode == modeAny {
pq.printSearch()
}
} else {
if mode == modeRepo || mode == modeAny {
pq.printSearch()
if mode == modeAUR || mode == modeAny {
aq.printSearch(lenpq + 1)
}
case bottomUp:
if mode == modeAUR || mode == modeAny {
aq.printSearch(lenpq + 1)
}
if mode == modeRepo || mode == modeAny {
pq.printSearch()
}
default:
return fmt.Errorf("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}

if aurErr != nil {
Expand All @@ -352,9 +355,14 @@ func displayNumberMenu(pkgS []string) (err error) {
isInclude := len(exclude) == 0 && len(otherExclude) == 0

for i, pkg := range pq {
target := len(pq) - i
if config.SortMode == topDown {
var target int
switch config.SortMode {
case topDown:
target = i + 1
case bottomUp:
target = len(pq) - i
default:
return fmt.Errorf("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}

if (isInclude && include.get(target)) || (!isInclude && !exclude.get(target)) {
Expand All @@ -363,9 +371,15 @@ func displayNumberMenu(pkgS []string) (err error) {
}

for i, pkg := range aq {
target := len(aq) - i + len(pq)
if config.SortMode == topDown {
var target int

switch config.SortMode {
case topDown:
target = i + 1 + len(pq)
case bottomUp:
target = len(aq) - i + len(pq)
default:
return fmt.Errorf("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}

if (isInclude && include.get(target)) || (!isInclude && !exclude.get(target)) {
Expand Down
18 changes: 12 additions & 6 deletions print.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,13 @@ func (q aurQuery) printSearch(start int) {
for i, res := range q {
var toprint string
if config.SearchMode == numberMenu {
if config.SortMode == bottomUp {
toprint += magenta(strconv.Itoa(len(q)+start-i-1) + " ")
} else {
switch config.SortMode {
case topDown:
toprint += magenta(strconv.Itoa(start+i) + " ")
case bottomUp:
toprint += magenta(strconv.Itoa(len(q)+start-i-1) + " ")
default:
fmt.Println("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}
} else if config.SearchMode == minimal {
fmt.Println(res.Name)
Expand Down Expand Up @@ -105,10 +108,13 @@ func (s repoQuery) printSearch() {
for i, res := range s {
var toprint string
if config.SearchMode == numberMenu {
if config.SortMode == bottomUp {
toprint += magenta(strconv.Itoa(len(s)-i) + " ")
} else {
switch config.SortMode {
case topDown:
toprint += magenta(strconv.Itoa(i+1) + " ")
case bottomUp:
toprint += magenta(strconv.Itoa(len(s)-i) + " ")
default:
fmt.Println("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}
} else if config.SearchMode == minimal {
fmt.Println(res.Name())
Expand Down
17 changes: 10 additions & 7 deletions query.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,20 +176,23 @@ func syncSearch(pkgS []string) (err error) {
}
}

if config.SortMode == bottomUp {
if mode == modeAUR || mode == modeAny {
aq.printSearch(1)
}
switch config.SortMode {
case topDown:
if mode == modeRepo || mode == modeAny {
pq.printSearch()
}
} else {
if mode == modeRepo || mode == modeAny {
pq.printSearch()
if mode == modeAUR || mode == modeAny {
aq.printSearch(1)
}
case bottomUp:
if mode == modeAUR || mode == modeAny {
aq.printSearch(1)
}
if mode == modeRepo || mode == modeAny {
pq.printSearch()
}
default:
return fmt.Errorf("Invalid Sort Mode. Fix with yay -Y --bottomup --save")
}

if aurErr != nil {
Expand Down

0 comments on commit cf12fc6

Please sign in to comment.