// Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import 'dart:convert'; import 'dart:io'; import 'package:wyatt_cli_toolbox/src/prompt/question.dart'; import 'package:wyatt_cli_toolbox/src/sequences/sequences.dart'; import 'package:wyatt_cli_toolbox/src/stylish/stylish.dart'; class StringQuestion extends Question { StringQuestion(String question, {String? comment, required String identifier}) : super(QuestionType.stringQuestion, identifier, question, comment); String? answer; @override String ask() { stdout.write(formatQuestion()); String input = ''; input = stdin.readLineSync(encoding: utf8)!.trim(); stdout.write(Sequences.escMoveUp(1) + formatQuestion()); answer = input; stdout.writeln( // ignore: lines_longer_than_80_chars '\r${formatQuestion()}${answer!.blue()}${Sequences.escClearLineFromCursorToEnd()}', ); return input; } }