summaryrefslogtreecommitdiff
path: root/argv.template.go
blob: a4dd38ae2fb923c1c3a12c1e0798ef5d22bc89e6 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main

// these are stubbed in functions needed
// just copy this file from another working app for now
// you shouldn't need to change anything here
// TODO: clean this up in argv

import (
	"os"

	"go.wit.com/dev/alexflint/arg"
	"go.wit.com/gui"
	"go.wit.com/lib/fhelp"
)

func (args) InitArgv() (string, string, string) {
	return APPNAME, BUILDTIME, VERSION
}

// this function will send the current argv PB to go-args for parsing
func (args) ParseFlags(flags []string) error {
	var err error
	if me.pp == nil {
		// log.Info("Parse Flags GOT flags:", flags)
		me.pp, err = arg.ParseFlags(flags, &argv)
		// panic("got to the app's ParseFlags()")
	} else {
		panic("me.pp was not nil")
	}
	return err
}

// this will print the help for the subcmd
func (args) WriteHelpForAutocomplete(part string, subcmd ...string) error {
	return me.pp.WriteHelpForAutocomplete(os.Stderr, os.Stdout, part, subcmd...)
}

func (args) InitGui() error {
	// panic("got here")
	arg.Register(&gui.ArgvGui)
	// me.gui = gui.PreInit()
	me.myGui = fhelp.Gui()
	return nil
}

func (args) Help() string {
	return "got app help"
}

func (args) MustParse() error {
	me.pp = arg.MustParse(&argv)
	return nil
}

/*
argv.Print.go:	me.pp.WriteHelp(os.Stdout)
argv.SendStrings.go:		me.pp.WriteHelpForAutocomplete(os.Stderr, os.Stdout, partial, cmd...)
argv.SendStrings.go:		// me.pp.GetUsageForSubcommand(os.Stdout, os.Stderr, partial, cmd)
argv.SendStrings.go:		// me.pp.GetUsageForSubcommand(os.Stdout, nil, partial, cmd)
argv.SendStrings.go:		me.pp.WriteHelpForAutocomplete(f, os.Stdout, partial, cmd...)
argv.SendStrings.go:		// me.pp.GetUsageForSubcommand(os.Stdout, nil, partial, cmd)
theMagicOfAutocomplete.go:		me.pp = arg.MustParse(dest)
theMagicOfAutocomplete.go:	me.pp, err = arg.ParseFlags(flags, dest)
theMagicOfAutocomplete.go:	if me.pp == nil {
theMagicOfAutocomplete.go:		me.pb.Debugf("DEBUG: me.pp == nil after ParseFlags()")
theMagicOfAutocomplete.go:		// me.pb.Debugf("DEBUG: me.pp is ok after ParseFlags()")
theMagicOfAutocomplete.go:				me.pp.WriteHelp(os.Stderr)
theMagicOfAutocomplete.go:				me.pp.WriteHelpForSubcommand(os.Stderr, me.pb.Cmd)
*/