public static function prompt( $question, $default = null, $marker = ': ', $hide = false ) {
		if( $default && strpos( $question, '[' ) === false ) {
			$question .= ' [' . $default . ']';
		}

		while( true ) {
			self::out( $question . $marker );
			$line = self::input( null, $hide );

			if ( trim( $line ) !== '' )
				return $line;
			if( $default !== false )
				return $default;
		}
	}
public static function prompt( $question, $default = null, $marker = ': ', $hide = false ) {
		if( $default && strpos( $question, '[' ) === false ) {
			$question .= ' [' . $default . ']';
		}

		while( true ) {
			self::out( $question . $marker );
			$line = self::input( null, $hide );

			if ( trim( $line ) !== '' )
				return $line;
			if( $default !== false )
				return $default;
		}
	}
public static function prompt ( $ question , $ default = null , $ marker = ': ' , $ hide = false ) { if ( $ default && strpos ( $ question , '[' ) === false ) { $ question .= ' [' . $ default . ']' ; } while ( true ) { self :: out ( $ question . $ marker ) ; $ line = self :: input ( null , $ hide ) ; if ( trim ( $ line ) !== '' ) return $ line ; if ( $ default !== false ) return $ default ; } }
Displays an input prompt. If no default value is provided the prompt will
continue displaying until input is received.

@param string      $question The question to ask the user.
@param bool|string $default  A default value if the user provides no input.
@param string      $marker   A string to append to the question and default value
on display.
@param boolean     $hide     Optionally hides what the user types in.
@return string  The users input.
@see cli\input()
Displays an input prompt . If no default value is provided the prompt will continue displaying until input is received .