run method
Runs the CLI tool with parsed arguments and error handling.
Implementation
Future<void> run(List<String> args) async {
final verbose = args.contains('--verbose') || args.contains('-v');
final logger = Logger(verbose: verbose);
final filteredArgs = args.where((arg) => arg != '--verbose' && arg != '-v').toList();
try {
await _router.route(filteredArgs, logger: logger);
} on DeepLinkException catch (e) {
logger.error(e.message, e.details);
} catch (e, stackTrace) {
logger.error('An unexpected error occurred.', e);
if (verbose) {
logger.println(stackTrace.toString());
}
}
}