| // Copyright 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:math'; |
| |
| import 'package:io/ansi.dart'; |
| |
| /// Prints a sample of all of the `AnsiCode` values. |
| void main(List<String> args) { |
| final forScript = args.contains('--for-script'); |
| |
| if (!ansiOutputEnabled) { |
| print('`ansiOutputEnabled` is `false`.'); |
| print("Don't expect pretty output."); |
| } |
| _preview('Foreground', foregroundColors, forScript); |
| _preview('Background', backgroundColors, forScript); |
| _preview('Styles', styles, forScript); |
| } |
| |
| void _preview(String name, List<AnsiCode> values, bool forScript) { |
| print(''); |
| final longest = values.map((ac) => ac.name.length).reduce(max); |
| |
| print(wrapWith('** $name **', [styleBold, styleUnderlined])); |
| for (var code in values) { |
| final header = |
| '${code.name.padRight(longest)} ${code.code.toString().padLeft(3)}'; |
| |
| print("$header: ${code.wrap('Sample', forScript: forScript)}"); |
| } |
| } |