51 lines
1.8 KiB
Go
51 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"go.wit.com/dev/alexflint/arg"
|
|
)
|
|
|
|
var argv args
|
|
|
|
type args struct {
|
|
ConfigDir string `arg:"env:FORGE_HOME" help:"defaults to ~/.config/forge/"`
|
|
List bool `arg:"--list" default:"false" help:"list repos in your config"`
|
|
Add bool `arg:"--add" default:"false" help:"add a new repo"`
|
|
Delete bool `arg:"--delete" default:"false" help:"delete a repo"`
|
|
Update bool `arg:"--update" default:"false" help:"update a repo"`
|
|
GoPath string `arg:"--gopath" help:"gopath of the repo"`
|
|
Directory bool `arg:"--directory" default:"false" help:"repo is a directory to match against"`
|
|
ReadOnly bool `arg:"--readonly" default:"false" help:"repo is readonly"`
|
|
Writable bool `arg:"--writable" default:"false" help:"repo is writable"`
|
|
Favorite bool `arg:"--favorite" default:"false" help:"forge will always go-clone or git clone this"`
|
|
Private bool `arg:"--private" default:"false" help:"repo can not be published"`
|
|
Interesting bool `arg:"--interesting" default:"false" help:"something you decided was cool"`
|
|
}
|
|
|
|
func (a args) Description() string {
|
|
return `
|
|
forgeConfig -- add entries to your config files
|
|
|
|
This is just example protobuf code to test forgepb is working
|
|
but it could be used to automagically create a config file too.
|
|
|
|
If you need to change your config file, just edit the forge.text or forge.json
|
|
files then remove the forge.pb and ConfigLoad() will attempt to load those files instead
|
|
`
|
|
}
|
|
|
|
func (args) Version() string {
|
|
return "virtigo " + VERSION
|
|
}
|
|
|
|
func init() {
|
|
var pp *arg.Parser
|
|
pp = arg.MustParse(&argv)
|
|
|
|
if pp == nil {
|
|
pp.WriteHelp(os.Stdout)
|
|
os.Exit(0)
|
|
}
|
|
}
|