diff options
| author | Jeff Carr <[email protected]> | 2024-12-27 03:39:53 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-12-27 03:39:53 -0600 |
| commit | 9818e8d1ee685fa11f6ed9745a92e0c31c3a75f1 (patch) | |
| tree | 9e7d6d47032240eb5a4c4232657cd6bc8d979aa5 /findRepos.go | |
| parent | bdaa40c51fe98ff167d2c05a0b21600c95185e67 (diff) | |
more ideas for command line 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 } |
