Имхо, стрим вообще не нужен
Я бы сделал просто циклом чтение с stdin на условие “пока нажатая клавиша не enter” и обновлял бы stdout на каждый клик
Завернул бы это все в класс menu, инициализировал на каждую необходимую опцию и запускал бы эту опцию, тогда мейн вешался бы, пока не прошло всё
Выглядело бы как
void main() {
print(‘What size do you need’);
final menu = Menu[‘medium’, ‘small’, ‘micro’];
final result =
menu.show(); // там внутри while(не нажат энтер читать stdin)
print(“You’ve chosen $result”);
// и т.д.
}