in pkg/prompts/prompts.go [153:191]
func RunDefaultableStringPrompt(defaultValue string, customPrompt *config.BuilderVar, validate func(string) error, Stdin io.ReadCloser, Stdout io.WriteCloser) (string, error) {
if validate == nil {
validate = NoBlankStringValidator
}
validatorFunc := func(input string) error {
// Allow blank inputs because defaults are set later
if input == "" {
return nil
}
if customPrompt.Name == "APPNAME" {
if err := appNameValidator(input); err != nil {
return err
}
} else {
if err := validate(input); err != nil {
return err
}
}
return nil
}
prompt := &promptui.Prompt{
Label: "Please enter " + customPrompt.Description + " (default: " + defaultValue + ")",
Validate: validatorFunc,
Stdin: Stdin,
Stdout: Stdout,
}
input, err := prompt.Run()
if err != nil {
return "", err
}
if input == "" && defaultValue != "" {
input = defaultValue
}
return input, nil
}