gopkg.in/easygen.v4@v4.1.0/cmd/easygen/flags.go (about)

     1  // !!! !!!
     2  // WARNING: Code automatically generated. Editing discouraged.
     3  // !!! !!!
     4  
     5  package main
     6  
     7  import (
     8  	"flag"
     9  	"fmt"
    10  	"os"
    11  
    12  	"github.com/go-easygen/easygen"
    13  )
    14  
    15  ////////////////////////////////////////////////////////////////////////////
    16  // Constant and data type/structure definitions
    17  
    18  //const progname = "easygen" // os.Args[0]
    19  
    20  ////////////////////////////////////////////////////////////////////////////
    21  // Global variables definitions
    22  
    23  ////////////////////////////////////////////////////////////////////////////
    24  // Commandline definitions
    25  
    26  func init() {
    27  
    28  	// set default values for command line parameters
    29  	flag.StringVar(&easygen.Opts.TemplateStr, "ts", "",
    30  		"template string (in text)")
    31  	flag.StringVar(&easygen.Opts.ExtYaml, "ey", ".yaml",
    32  		"`extension` of yaml file")
    33  	flag.StringVar(&easygen.Opts.ExtJson, "ej", ".json",
    34  		"`extension` of json file")
    35  	flag.StringVar(&easygen.Opts.ExtTmpl, "et", ".tmpl",
    36  		"`extension` of template file")
    37  	flag.IntVar(&easygen.Opts.Debug, "debug", 0,
    38  		"debugging `level`")
    39  
    40  	// Now override those default values from environment variables
    41  	if len(easygen.Opts.TemplateStr) == 0 ||
    42  		len(os.Getenv("EASYGEN_TS")) != 0 {
    43  		easygen.Opts.TemplateStr = os.Getenv("EASYGEN_TS")
    44  	}
    45  	if len(easygen.Opts.ExtYaml) == 0 ||
    46  		len(os.Getenv("EASYGEN_EY")) != 0 {
    47  		easygen.Opts.ExtYaml = os.Getenv("EASYGEN_EY")
    48  	}
    49  	if len(easygen.Opts.ExtJson) == 0 ||
    50  		len(os.Getenv("EASYGEN_EJ")) != 0 {
    51  		easygen.Opts.ExtJson = os.Getenv("EASYGEN_EJ")
    52  	}
    53  	if len(easygen.Opts.ExtTmpl) == 0 ||
    54  		len(os.Getenv("EASYGEN_ET")) != 0 {
    55  		easygen.Opts.ExtTmpl = os.Getenv("EASYGEN_ET")
    56  	}
    57  
    58  }
    59  
    60  // Usage function shows help on commandline usage
    61  func Usage() {
    62  	fmt.Fprintf(os.Stderr,
    63  		"%s version %s\n\nUsage:\n %s [flags] template_name [data_filename [data_filename...]]\n\nFlags:\n\n",
    64  		progname, version, progname)
    65  	flag.PrintDefaults()
    66  	fmt.Fprintf(os.Stderr,
    67  		"\ndata_filename(s): The name for the .yaml or .json data.\n - If omitted derive from the template_name.\n - Can have the extension or without it. If withot extension,\n   will try .yaml first then .json\n - Can include the path as well.\n\ntemplate_name: The name for the template file.\n - Can have the extension or without it.\n - Can include the path as well.\n - Can be a comma-separated list giving many template files, in which case\n   at least one data_filename must be given.\n\nFlag defaults can be overridden by corresponding environment variable, e.g.:\n  EASYGEN_EY=.yml EASYGEN_ET=.tpl easygen ...\n")
    68  	os.Exit(0)
    69  }