summaryrefslogtreecommitdiff
path: root/scanGoSrc/argv.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-12-01 19:27:30 -0600
committerJeff Carr <[email protected]>2024-12-01 19:27:30 -0600
commit9d95b189135422a720cb00f8b0ca8546e7fdc9b5 (patch)
tree34299ad83167152bf4681b4264751b5c4f9cdf50 /scanGoSrc/argv.go
Day 1. pull these out from protobuf librariesv0.0.2v0.0.1
Diffstat (limited to 'scanGoSrc/argv.go')
-rw-r--r--scanGoSrc/argv.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/scanGoSrc/argv.go b/scanGoSrc/argv.go
new file mode 100644
index 0000000..635989f
--- /dev/null
+++ b/scanGoSrc/argv.go
@@ -0,0 +1,50 @@
+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)
+ }
+}