code: func (p *terminalPrompter) PromptInput(prompt string) (string, error) {
  	if p.supported {
  		p.rawMode.ApplyMode()
  		defer p.normalMode.ApplyMode()
  	} else {
  		// liner tries to be smart about printing the prompt
  		// and doesn't print anything if input is redirected.
  		// Un-smart it by printing the prompt always.
  		fmt.Print(prompt)
  		prompt = ""
  		defer fmt.Println()
  	}
  	return p.State.Prompt(prompt)
  }
docs: // PromptInput displays the given prompt to the user and requests some textual
  // data to be entered, returning the input of the user.