diff --git a/README.md b/README.md index 94afd58..e6b75cd 100644 --- a/README.md +++ b/README.md @@ -176,9 +176,9 @@ Commands themselves can be overloaded using normal C# syntax, and the various argument syntax variants (that is, positional, named, switches, and collections) can easily be mixed and matched. -Even the types recognized and parsed by Remora.Commands can be extended using +The list of types recognized and parsed by Remora.Commands can be extended using `AbstractTypeParser` - if you can turn a string into an instance of your -type, Remora.Commands can parse it. +type, Remora.Commands will be able to parse it. ```cs public class MyParser : AbstractTypeParser @@ -192,11 +192,11 @@ public class MyParser : AbstractTypeParser return new ValueTask> ( !MyType.TryParse(value, out var result) - ? Result.FromError + ? Result.FromError ( $"Failed to parse \"{value}\" as an instance of MyType." ) - : Result.FromSuccess(result) + : Result.FromSuccess(result) ); } } @@ -217,7 +217,7 @@ create parsers that fetch entities from a database, that look things up online, that integrate with the rest of your application seamlessly... the possibilities are endless! -By default, Remora.Commands provides builtin parsers for the following types: +By default, Remora.Commands provides built-in parsers for the following types: * `string` * `char` * `bool` @@ -233,8 +233,12 @@ By default, Remora.Commands provides builtin parsers for the following types: * `double` * `decimal` * `BigInteger` + * `TimeSpan` + * `DateTime` * `DateTimeOffset` +Remora.Commands can also parse any enum without the need for a custom parser! + ## Multiple trees If your application requires different sets of commands for different contexts, you can register multiple separate trees and selectively execute commands from