code: func (s *Session) Handle(line string) (string, bool, tfdiags.Diagnostics) {
  	switch {
  	case strings.TrimSpace(line) == "":
  		return "", false, nil
  	case strings.TrimSpace(line) == "exit":
  		return "", true, nil
  	case strings.TrimSpace(line) == "help":
  		ret, diags := s.handleHelp()
  		return ret, false, diags
  	default:
  		ret, diags := s.handleEval(line)
  		return ret, false, diags
  	}
  }
docs: // Handle handles a single line of input from the REPL.
  //
  // This is a stateful operation if a command is given (such as setting
  // a variable). This function should not be called in parallel.
  //
  // The return value is the output and the error to show.