...
1 package cmdline
2
3 import (
4 "flag"
5 "os"
6 )
7
8 type impara struct {
9 f func()
10 name string
11 desc string
12 }
13
14 func ImmediatePara(name string, desc string, f func()) *impara {
15 t := &impara{name: name, desc: desc, f: f}
16 flag.Var(t, name, desc)
17 return t
18 }
19
20 func (i *impara) Set(s string) error {
21 i.f()
22 os.Exit(0)
23 return nil
24 }
25 func (i *impara) String() string {
26 if i == nil {
27 return "[nil]"
28 }
29 return i.name + " " + i.desc
30 }
31
View as plain text