...

Source file src/golang.conradwood.net/go-easyops/cmdline/env_var.go

Documentation: golang.conradwood.net/go-easyops/cmdline

     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