| Index: packages/cli_util/README.md
|
| diff --git a/packages/cli_util/README.md b/packages/cli_util/README.md
|
| index bcff2f3ce350015dde904fb7c28cf7130b650c5e..0256472ae2e09e3c01a8f1236be8b28da684e990 100644
|
| --- a/packages/cli_util/README.md
|
| +++ b/packages/cli_util/README.md
|
| @@ -7,8 +7,9 @@ SDK directory. Useful, especially, when building client applications that
|
| interact with the Dart SDK (such as the [analyzer][analyzer]).
|
|
|
| [](https://travis-ci.org/dart-lang/cli_util)
|
| +[](https://pub.dartlang.org/packages/cli_util)
|
|
|
| -## Usage
|
| +## Locating the Dart SDK
|
|
|
| ```dart
|
| import 'dart:io';
|
| @@ -17,15 +18,47 @@ import 'package:cli_util/cli_util.dart';
|
| import 'package:path/path.dart' as path;
|
|
|
| main(args) {
|
| - // Get sdk dir from cli_util
|
| - Directory sdkDir = getSdkDir(args);
|
| + // Get sdk dir from cli_util.
|
| + String sdkPath = getSdkPath();
|
|
|
| // Do stuff... For example, print version string
|
| - File versionFile = new File(path.join(sdkDir.path, 'version'));
|
| + File versionFile = new File(path.join(sdkPath, 'version'));
|
| print(versionFile.readAsStringSync());
|
| }
|
| ```
|
|
|
| +## Displaying output and progress
|
| +
|
| +`package:cli_util` can also be used to help CLI tools display output and progress.
|
| +It has a logging mechanism which can help differentiate between regular tool
|
| +output and error messages, and can facilitate having a more verbose (`-v`) mode for
|
| +output.
|
| +
|
| +In addition, it can display an indeterminate progress spinner for longer running
|
| +tasks, and optionally display the elapsed time when finished:
|
| +
|
| +```dart
|
| +import 'package:cli_util/cli_logging.dart';
|
| +
|
| +main(List<String> args) async {
|
| + bool verbose = args.contains('-v');
|
| + Logger logger = verbose ? new Logger.verbose() : new Logger.standard();
|
| +
|
| + logger.stdout('Hello world!');
|
| + logger.trace('message 1');
|
| + await new Future.delayed(new Duration(milliseconds: 200));
|
| + logger.trace('message 2');
|
| + logger.trace('message 3');
|
| +
|
| + Progress progress = logger.progress('doing some work');
|
| + await new Future.delayed(new Duration(seconds: 2));
|
| + progress.finish(showTiming: true);
|
| +
|
| + logger.stdout('All ${logger.ansi.emphasized('done')}.');
|
| + logger.flush();
|
| +}
|
| +```
|
| +
|
| ## Features and bugs
|
|
|
| Please file feature requests and bugs at the [issue tracker][tracker].
|
|
|