summaryrefslogtreecommitdiff
path: root/argv.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.go')
-rw-r--r--argv.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/argv.go b/argv.go
new file mode 100644
index 0000000..4183d11
--- /dev/null
+++ b/argv.go
@@ -0,0 +1,39 @@
+package main
+
+import (
+ "os"
+
+ "github.com/alexflint/go-arg"
+)
+
+/*
+ this parses the command line arguements
+
+ this enables command line options from other packages like 'gui' and 'log'
+*/
+
+var argv args
+
+type args struct {
+ Demo string `arg:"positional" help:"this is just a demo"`
+}
+
+func (a args) Description() string {
+ return `
+This helloworld example demonstrates the 'gui' plugin toolkits
+`
+}
+
+func init() {
+ pp := arg.MustParse(&argv)
+
+ // for very new users or users unfamilar with the command line, this may help them
+ if argv.Demo == "version" || argv.Demo == "help" || argv.Demo == "?" {
+ pp.WriteHelp(os.Stdout)
+ os.Exit(0)
+ }
+}
+
+func (args) Version() string {
+ return "helloworld " + VERSION
+}