code: public static function select($prompt, $options = [])
      {
          top:
          static::stdout("$prompt [" . implode(',', array_keys($options)) . ',?]: ');
          $input = static::stdin();
          if ($input === '?') {
              foreach ($options as $key => $value) {
                  static::output(" $key - $value");
              }
              static::output(' ? - Show help');
              goto top;
          } elseif (!array_key_exists($input, $options)) {
              goto top;
          }
  
          return $input;
      }
docs: Gives the user an option to choose from. Giving '?' as an input will show
  a list of options to choose from and their explanations.
  
  @param string $prompt the prompt message
  @param array $options Key-value array of options to choose from. Key is what is inputed and used, value is
  what's displayed to end user by help command.
  
  @return string An option character the user chose