@@ -65,20 +65,22 @@ func main() {
6565
6666 var filter_text string
6767
68+ var load_env bool
6869 var verbose bool
6970 var version bool
7071 var help bool
7172
72- flag .StringVar (& filter_text , "filter " , "" , "The DFL expression to evaulate" )
73+ flag .StringVar (& filter_text , "f " , "" , "The DFL expression to evaulate" )
7374
75+ flag .BoolVar (& load_env , "env" , false , "Load environment variables" )
7476 flag .BoolVar (& verbose , "verbose" , false , "Provide verbose output" )
7577 flag .BoolVar (& version , "version" , false , "Prints version to stdout" )
7678 flag .BoolVar (& help , "help" , false , "Print help" )
7779
7880 flag .Parse ()
7981
8082 if help {
81- fmt .Println ("Usage: dfl -filter INPUT [-verbose] [-version] [-help] [A=1] [B=2]" )
83+ fmt .Println ("Usage: dfl -f INPUT [-verbose] [-version] [-help] [-env ] [A=1] [B=2]" )
8284 fmt .Println ("Options:" )
8385 flag .PrintDefaults ()
8486 os .Exit (0 )
@@ -87,7 +89,7 @@ func main() {
8789 fmt .Println ("Run \" dfl -help\" for more information." )
8890 os .Exit (0 )
8991 } else if len (os .Args ) == 2 && os .Args [1 ] == "help" {
90- fmt .Println ("Usage: dfl -filter INPUT [-verbose] [-version] [-help] [A=1] [B=2]" )
92+ fmt .Println ("Usage: dfl -f INPUT [-verbose] [-version] [-help] [-env ] [A=1] [B=2]" )
9193 fmt .Println ("Options:" )
9294 flag .PrintDefaults ()
9395 os .Exit (0 )
@@ -99,13 +101,19 @@ func main() {
99101 }
100102
101103 ctx := map [string ]interface {}{}
104+ if load_env {
105+ for _ , e := range os .Environ () {
106+ pair := strings .Split (e , "=" )
107+ ctx [pair [0 ]] = dfl .TryConvertString (pair [1 ])
108+ }
109+ }
102110 for _ , a := range flag .Args () {
103111 if ! strings .Contains (a , "=" ) {
104112 fmt .Println ("Context attribute \" " + a + "\" does not contain \" =\" ." )
105113 os .Exit (1 )
106114 }
107- parts := strings .SplitN (a , "=" , 2 )
108- ctx [parts [0 ]] = dfl .TryConvertString (parts [1 ])
115+ pair := strings .SplitN (a , "=" , 2 )
116+ ctx [pair [0 ]] = dfl .TryConvertString (pair [1 ])
109117 }
110118
111119 root , err := dfl .Parse (filter_text )
0 commit comments