@@ -3,6 +3,7 @@ package main
33import (
44 "flag"
55 "fmt"
6+ "log"
67 "os"
78 "strings"
89)
@@ -17,6 +18,9 @@ func parseShowSpec(args []string) *showSpec {
1718 spec := showSpec {loadFrom : map [string ]interface {}{}, providersFull : map [string ]interface {}{}, providerVars : map [string ]map [string ]interface {}{}}
1819 for _ , arg := range args {
1920 components := strings .Split (arg , "://" )
21+ // TODO(zomglings): Can environment variable names contain the characters "://"? I don't think so.
22+ // However, it is possible that the provider filter arguments *could* contain those characters. That
23+ // means that this logic is wrong. We should probably use a different separator.
2024 providerSpec := components [0 ]
2125 spec .loadFrom [providerSpec ] = nil
2226 if len (components ) == 1 {
@@ -89,14 +93,14 @@ func main() {
8993 }
9094 spec := parseShowSpec (showFlags .Args ())
9195 providedVars := make (map [string ]map [string ]string )
92- for providerSpec , _ := range spec .loadFrom {
96+ for providerSpec := range spec .loadFrom {
9397 vars , providerErr := VariablesFromProviderSpec (providerSpec )
9498 if providerErr != nil {
95- panic (providerErr )
99+ log . Fatalf (providerErr . Error () )
96100 }
97101 providedVars [providerSpec ] = vars
98102 }
99- for providerSpec , _ := range spec .providersFull {
103+ for providerSpec := range spec .providersFull {
100104 fmt .Printf ("%s - all variables:\n " , providerSpec )
101105 for k , v := range providedVars [providerSpec ] {
102106 fmt .Printf ("- %s=%s\n " , k , v )
@@ -105,7 +109,7 @@ func main() {
105109 for providerSpec , queriedVars := range spec .providerVars {
106110 fmt .Printf ("%s - specific variables:\n " , providerSpec )
107111 definedVars := providedVars [providerSpec ]
108- for k , _ := range queriedVars {
112+ for k := range queriedVars {
109113 v , ok := definedVars [k ]
110114 if ! ok {
111115 fmt .Printf ("- UNDEFINED: %s\n " , k )
0 commit comments