summaryrefslogtreecommitdiff
path: root/findRepos.go
diff options
context:
space:
mode:
Diffstat (limited to 'findRepos.go')
-rw-r--r--findRepos.go76
1 files changed, 50 insertions, 26 deletions
diff --git a/findRepos.go b/findRepos.go
index e01ca4b..8739d29 100644
--- a/findRepos.go
+++ b/findRepos.go
@@ -4,36 +4,59 @@ import (
"go.wit.com/log"
)
-func findRepos() bool {
- var done bool = false
- if argv.Find != nil {
- if argv.Find.All {
- findAll()
- done = true
- }
+func (f *FindCmd) findRepos() {
+ if f == nil {
+ findMine()
+ return
+ }
- if argv.Find.Private {
- findPrivate()
- done = true
- }
+ if f.All {
+ findAll(f)
+ return
+ }
- if argv.Find.Mine {
- findMine()
- done = true
- }
- if argv.Find.Favorites {
- findFavorites()
- done = true
- }
+ if f.Private {
+ findPrivate()
+ return
}
- // this is the 'default' behavior when no command line arguments are given
- // if no argv was set, select repos marked as 'mine'
- if !done {
+ if f.Mine {
findMine()
- done = true
+ return
+ }
+ if f.Favorites {
+ findFavorites()
+ return
}
- return done
+
+ findMine()
+}
+
+func findRepos(fargv *FindCmd) {
+ if fargv == nil {
+ findMine()
+ return
+ }
+ if fargv.All {
+ findAll(fargv)
+ return
+ }
+
+ if fargv.Private {
+ findPrivate()
+ return
+ }
+
+ if fargv.Mine {
+ findMine()
+ return
+ }
+ if fargv.Favorites {
+ findFavorites()
+ return
+ }
+
+ findMine()
}
func findPrivate() {
@@ -70,12 +93,13 @@ func findFavorites() {
}
}
-func findAll() {
+// func (f *FindCmd) findRepos() {
+func findAll(fargv *FindCmd) {
all := me.forge.Repos.SortByFullPath()
for all.Scan() {
repo := all.Next()
me.found.AppendUniqueGoPath(repo)
- if me.forge.Config.IsReadOnly(repo.GetGoPath()) && !argv.Find.ReadOnly {
+ if me.forge.Config.IsReadOnly(repo.GetGoPath()) && !fargv.ReadOnly {
if repo.ReadOnly {
continue
}