// 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:io'; import 'package:wyatt_cli_toolbox/src/prompt/control.dart'; import 'package:wyatt_cli_toolbox/src/prompt/question.dart'; enum MessageLevel { debug, info, success, warn, fail } class Message extends Question { Message( String text, { String? comment, this.level = MessageLevel.info, required String identifier, }) : super(QuestionType.message, identifier, text, comment); MessageLevel level; @override String get prefix { switch (level) { case MessageLevel.debug: return ' '; case MessageLevel.info: return Control.infoIndicator(); case MessageLevel.success: return Control.validIndicator(); case MessageLevel.warn: return Control.exclamationIndicator(); case MessageLevel.fail: return Control.wrongIndicator(); } } @override void ask() { stdout.writeln(formatQuestion()); } }