34 lines
1.1 KiB
Dart
34 lines
1.1 KiB
Dart
|
|
// Copyright (c) 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)}");
|
||
|
|
}
|
||
|
|
}
|