forge/argv.go

42 lines
1.8 KiB
Go

package main
/*
this parses the command line arguements
*/
var argv args
type args struct {
List bool `arg:"--list" help:"list found repos"`
ListConf bool `arg:"--list-conf" help:"list your .config/forge/ configuration"`
ReadOnly bool `arg:"--read-only" help:"include read-only repos"`
GetMine bool `arg:"--mine" help:"download private and writeable repos"`
GetFav bool `arg:"--favorites" help:"download repos marked as favorites"`
Pull bool `arg:"--git-pull" help:"run 'git pull' on all your repos"`
Build bool `arg:"--build" default:"true" help:"also try to build it"`
Install bool `arg:"--install" help:"try to install every binary package"`
RedoGoMod bool `arg:"--RedoGoMod" help:"remake all the go.sum and go.mod files"`
DryRun bool `arg:"--dry-run" help:"show what would be run"`
Real bool `arg:"--real" help:"do the change, save config & exit"`
}
func (args) Version() string {
return "forge " + VERSION + " Built on " + BUILDTIME
}
func (a args) Description() string {
return `
forge -- in the spirit of things like sourceforge
Repository configuration is stored in .config/forge/forge.text
Examples:
forge --list # list found repos
forge --mine # download your private and writable repos
forge --favorites # clone repos you marked as favorites
forge --git-pull # run 'git pull' in every repo
forge --build # build every binary package
forge --install # install every binary package
`
}