summaryrefslogtreecommitdiff
path: root/forgeConfig/argv.go
blob: a39509f05431706241f052e8b78f236b13e21355 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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"`
	Master      string `arg:"--master"                          help:"the git 'master' or 'main' branch name"`
	Devel       string `arg:"--devel"                           help:"the git devel branch name"`
	User        string `arg:"--user"                            help:"the git user branch name"`
}

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)
	}
}