prompt(options, cb) {
    let prompt;
    options = options || {};
    if (!this.parent) {
      return prompt;
    }
    if (options.delimiter) {
      this.setDelimiter(options.delimiter);
    }
    if (options.message) {
      this.setDelimiter(options.message);
    }
    if (this._midPrompt) {
      console.log('Prompt called when mid prompt...');
      throw new Error('UI Prompt called when already mid prompt.');
    }
    this._midPrompt = true;
    try {
      prompt = inquirer.prompt(options, (result) => {
        this.inquirerStdout = [];
        this._midPrompt = false;
        if (this._cancel === true) {
          this._cancel = false;
        } else {
          cb(result);
        }
      });

      // Temporary hack. We need to pull the active
      // prompt from inquirer as soon as possible,
      // however we can't just assign it sync, as
      // the prompt isn't ready yet.
      // I am trying to get inquirer extended to
      // fire an event instead.
      setTimeout(() => {
        // this._activePrompt = prompt._activePrompt;
      }, 100);
    } catch (e) {
      console.log('Vorpal Prompt error:', e);
    }
    return prompt;
  }
Creates an inquirer prompt on the TTY.

@param {Object} options
@param {Function} cb
@api public