code: func (ui *BasicUI) Ask(message, trim string) (string, error) {
  	if message != "" {
  		ui.Output(message)
  	}
  	reader := bufio.NewReader(ui.Reader)
  	res, err := reader.ReadString('\n')
  	if err != nil {
  		return "", err
  	}
  	res = strings.Replace(res, "\r", "", -1) //this will only be useful under windows
  	res = strings.Replace(res, "\n", "", -1)
  	res = strings.Trim(res, trim)
  	return res, err
  }
docs: //Ask will call output with message then wait for Reader to print newline (\n).
  //If Reader is os.Stdin then that is when ever a user presses [enter].
  //It will clean the response by removing any carriage returns and new lines that if finds.
  //Then it will trim the message using the trim variable.
  //Use and empty string to specify you do not want to trim.
  //If a message is not used ("") then it will not prompt user before waiting on a response.