...
1 package cmdline
2
3 import (
4 "os"
5 )
6
7 var (
8 envs []*env_var
9 )
10
11 func ENV(name, description string) *env_var {
12 res := &env_var{name: name, description: description}
13 envs = append(envs, res)
14 return res
15 }
16
17 type env_var struct {
18 name string
19 description string
20 }
21
22 func (e *env_var) Value() string {
23 x := os.Getenv(e.name)
24 return x
25 }
26 func (e *env_var) Name() string {
27 return e.name
28 }
29 func render_env_help() string {
30 longest := 0
31 for _, e := range envs {
32 if len(e.name) > longest {
33 longest = len(e.name)
34 }
35 }
36 res := ""
37 for _, e := range envs {
38 s := e.name
39 for len(s) < longest {
40 s = s + " "
41 }
42 s = s + ": " + e.description
43 res = res + s + "\n"
44 }
45 return res
46 }
47
View as plain text