diff options
Diffstat (limited to 'findRepos.go')
| -rw-r--r-- | findRepos.go | 76 |
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 } |
