diff --git a/packages/config/lib/src/config/file_system_options.dart b/packages/config/lib/src/config/file_system_options.dart index c553ef3..22a35c4 100644 --- a/packages/config/lib/src/config/file_system_options.dart +++ b/packages/config/lib/src/config/file_system_options.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:args/command_runner.dart'; +import 'package:path/path.dart' as p; import 'options.dart'; @@ -17,6 +18,12 @@ class DirParser extends ValueParser { Directory parse(final String value) { return Directory(value); } + + @override + String format(final Directory value) { + final path = value.path; + return path.endsWith(p.separator) ? path : '$path${p.separator}'; + } } /// Directory path configuration option. @@ -81,6 +88,11 @@ class FileParser extends ValueParser { File parse(final String value) { return File(value); } + + @override + String format(final File value) { + return value.path; + } } /// File path configuration option. diff --git a/packages/config/lib/src/config/option_types.dart b/packages/config/lib/src/config/option_types.dart index 5387459..7dabdc6 100644 --- a/packages/config/lib/src/config/option_types.dart +++ b/packages/config/lib/src/config/option_types.dart @@ -251,7 +251,7 @@ class IntOption extends ComparableValueOption { /// /// This implementation is more forgiving than [DateTime.parse]. /// In addition to the standard T and space separators between -/// date and time it also allows [-_/:t]. +/// date and time it also allows \[-_/:t\]. class DateTimeParser extends ValueParser { const DateTimeParser(); diff --git a/packages/config/lib/src/config/options.dart b/packages/config/lib/src/config/options.dart index 83b7e6b..00d0bad 100644 --- a/packages/config/lib/src/config/options.dart +++ b/packages/config/lib/src/config/options.dart @@ -3,7 +3,7 @@ import 'package:args/command_runner.dart'; import 'package:collection/collection.dart'; import 'package:meta/meta.dart'; -import 'configuration.dart'; +import 'configuration.dart' show Configuration; import 'configuration_broker.dart'; import 'exceptions.dart'; import 'option_resolution.dart';