コード例 #1
0
ファイル: option.go プロジェクト: ulfurinn/cli
func (f StringOption) ApplyPositional(set *flags.Set) {
	if f.EnvVar != "" {
		if envVal := os.Getenv(f.EnvVar); envVal != "" {
			f.Value = envVal
		}
	}

	eachName(f.Name, func(name string) {
		set.StringArg(name, f.Value, f.Usage, f.Var, f.Optional)
	})
}
コード例 #2
0
ファイル: option.go プロジェクト: ulfurinn/cli
func (f StringSliceOption) ApplyPositional(set *flags.Set) {
	f.Value = new(StringSlice)
	if f.EnvVar != "" {
		if envVal := os.Getenv(f.EnvVar); envVal != "" {
			f.Value.Set(envVal)
		}
	}

	eachName(f.Name, func(name string) {
		set.Argument(f.Value, name, f.Usage, f.Optional)
	})
}
コード例 #3
0
ファイル: option.go プロジェクト: ulfurinn/cli
func (f Float64Option) ApplyPositional(set *flags.Set) {
	if f.EnvVar != "" {
		if envVal := os.Getenv(f.EnvVar); envVal != "" {
			envValFloat, err := strconv.ParseFloat(envVal, 10)
			if err == nil {
				f.Value = float64(envValFloat)
			}
		}
	}

	eachName(f.Name, func(name string) {
		set.Float64Arg(name, f.Value, f.Usage, f.Var, f.Optional)
	})
}
コード例 #4
0
ファイル: option.go プロジェクト: ulfurinn/cli
func (f IntOption) ApplyPositional(set *flags.Set) {
	if f.EnvVar != "" {
		if envVal := os.Getenv(f.EnvVar); envVal != "" {
			envValInt, err := strconv.ParseUint(envVal, 10, 64)
			if err == nil {
				f.Value = int(envValInt)
			}
		}
	}

	eachName(f.Name, func(name string) {
		set.IntArg(name, f.Value, f.Usage, f.Var, f.Optional)
	})
}
コード例 #5
0
ファイル: option.go プロジェクト: ulfurinn/cli
func (f BoolOption) ApplyPositional(set *flags.Set) {
	if f.EnvVar != "" {
		if envVal := os.Getenv(f.EnvVar); envVal != "" {
			envValBool, err := strconv.ParseBool(envVal)
			if err == nil {
				f.Value = envValBool
			}
		}
	}

	eachName(f.Name, func(name string) {
		set.BoolArg(name, f.Value, f.Usage, f.Var, f.Optional)
	})
}