github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+incompatible/command/flag/environment_variable.go (about)

     1  package flag
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"strings"
     7  
     8  	flags "github.com/jessevdk/go-flags"
     9  )
    10  
    11  type EnvironmentVariable string
    12  
    13  func (EnvironmentVariable) Complete(prefix string) []flags.Completion {
    14  	if prefix == "" || prefix[0] != '$' {
    15  		return nil
    16  	}
    17  
    18  	keyValPairs := os.Environ()
    19  	envVars := make([]string, len(keyValPairs))
    20  	for i, keyValPair := range keyValPairs {
    21  		envVars[i] = fmt.Sprintf("$%s", strings.Split(keyValPair, "=")[0])
    22  	}
    23  
    24  	return completions(envVars, prefix, true)
    25  }