public function ask($text, $default = '', $displayDefault = true)
{
if ($displayDefault && !empty($default)) {
$defaultText = $default;
if (strlen($defaultText) > 30) {
$defaultText = substr($default, 0, 30) . '...';
}
$text .= " [{$defaultText}]";
}
$this->textWriter->write("{$text} ");
return trim(fgets(STDIN)) ?: $default;
}