Skip to content

Commit fd3cf0c

Browse files
authored
Making HelpOption localizable (#1170)
* Making HelpOption localizable Renamed ValidationMessages to Resources * Adding other resource dictionaries
1 parent 33f5798 commit fd3cf0c

25 files changed

+101
-21
lines changed

src/System.CommandLine.Tests/ParserTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public void When_a_token_is_just_a_prefix_then_an_error_is_returned(string prefi
155155
result.Errors
156156
.Select(e => e.Message)
157157
.Should()
158-
.Contain(ValidationMessages.Instance.UnrecognizedCommandOrArgument(prefix));
158+
.Contain(Resources.Instance.UnrecognizedCommandOrArgument(prefix));
159159
}
160160

161161
[Fact]
@@ -1804,7 +1804,7 @@ public void When_command_arguments_are_fewer_than_minimum_arity_then_an_error_is
18041804
result.Errors
18051805
.Select(e => e.Message)
18061806
.Should()
1807-
.Contain(ValidationMessages.Instance.RequiredArgumentMissing(result.CommandResult));
1807+
.Contain(Resources.Instance.RequiredArgumentMissing(result.CommandResult));
18081808
}
18091809

18101810
[Fact]
@@ -1824,7 +1824,7 @@ public void When_command_arguments_are_greater_than_maximum_arity_then_an_error_
18241824
.Errors
18251825
.Select(e => e.Message)
18261826
.Should()
1827-
.Contain(ValidationMessages.Instance.UnrecognizedCommandOrArgument("4"));
1827+
.Contain(Resources.Instance.UnrecognizedCommandOrArgument("4"));
18281828
}
18291829

18301830
[Fact]
@@ -1910,7 +1910,7 @@ public void When_option_arguments_are_fewer_than_minimum_arity_then_an_error_is_
19101910
result.Errors
19111911
.Select(e => e.Message)
19121912
.Should()
1913-
.Contain(ValidationMessages.Instance.RequiredArgumentMissing(result.CommandResult.FindResultFor(option)));
1913+
.Contain(Resources.Instance.RequiredArgumentMissing(result.CommandResult.FindResultFor(option)));
19141914
}
19151915

19161916
[Fact]
@@ -1931,7 +1931,7 @@ public void When_option_arguments_are_greater_than_maximum_arity_then_an_error_i
19311931
.Errors
19321932
.Select(e => e.Message)
19331933
.Should()
1934-
.Contain(ValidationMessages.Instance.UnrecognizedCommandOrArgument("4"));
1934+
.Contain(Resources.Instance.UnrecognizedCommandOrArgument("4"));
19351935
}
19361936

19371937

src/System.CommandLine.Tests/ParsingValidationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ public void A_command_with_subcommands_is_invalid_to_invoke_if_it_has_no_handler
762762
result.Errors
763763
.Should()
764764
.ContainSingle(
765-
e => e.Message.Equals(ValidationMessages.Instance.RequiredCommandWasNotProvided()) &&
765+
e => e.Message.Equals(Resources.Instance.RequiredCommandWasNotProvided()) &&
766766
e.SymbolResult.Symbol.Name.Equals("inner"));
767767
}
768768

@@ -778,7 +778,7 @@ public void A_root_command_is_invalid_if_it_has_no_handler()
778778
result.Errors
779779
.Should()
780780
.ContainSingle(
781-
e => e.Message.Equals(ValidationMessages.Instance.RequiredCommandWasNotProvided()) &&
781+
e => e.Message.Equals(Resources.Instance.RequiredCommandWasNotProvided()) &&
782782
e.SymbolResult.Symbol == rootCommand);
783783
}
784784

src/System.CommandLine.Tests/ValidationMessageLocalizationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void Default_validation_messages_can_be_replaced_using_CommandLineBuilder
5656
.Contain("the-message");
5757
}
5858

59-
public class FakeValidationMessages : ValidationMessages
59+
public class FakeValidationMessages : Resources
6060
{
6161
private readonly string message;
6262

src/System.CommandLine/Binding/ArgumentConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ internal static ArgumentConversionResult ConvertIfNeeded(
316316
case NoArgumentConversionResult _ when conversionResult.Argument.Arity.MinimumNumberOfValues > 0:
317317
return new MissingArgumentConversionResult(
318318
conversionResult.Argument,
319-
ValidationMessages.Instance.RequiredArgumentMissing(symbolResult));
319+
Resources.Instance.RequiredArgumentMissing(symbolResult));
320320

321321
case NoArgumentConversionResult _ when conversionResult.Argument.Arity.MaximumNumberOfValues > 1:
322322
return Success(

src/System.CommandLine/Builder/CommandLineBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public CommandLineBuilder(Command? rootCommand = null)
2929

3030
internal HelpOption? HelpOption { get; set; }
3131

32-
internal ValidationMessages? ValidationMessages { get; set; }
32+
internal Resources? ValidationMessages { get; set; }
3333

3434
public Parser Build()
3535
{

src/System.CommandLine/Builder/CommandLineBuilderExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ public static CommandLineBuilder UseTypoCorrections(
484484

485485
public static CommandLineBuilder UseValidationMessages(
486486
this CommandLineBuilder builder,
487-
ValidationMessages validationMessages)
487+
Resources validationMessages)
488488
{
489489
builder.ValidationMessages = validationMessages;
490490
return builder;

src/System.CommandLine/CommandLineConfiguration.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public CommandLineConfiguration(
3434
IReadOnlyList<Symbol> symbols,
3535
bool enablePosixBundling = true,
3636
bool enableDirectives = true,
37-
ValidationMessages? validationMessages = null,
37+
Resources? validationMessages = null,
3838
ResponseFileHandling responseFileHandling = ResponseFileHandling.ParseArgsAsLineSeparated,
3939
IReadOnlyCollection<InvocationMiddleware>? middlewarePipeline = null,
4040
Func<BindingContext, IHelpBuilder>? helpBuilderFactory = null)
@@ -81,7 +81,7 @@ public CommandLineConfiguration(
8181

8282
EnablePosixBundling = enablePosixBundling;
8383
EnableDirectives = enableDirectives;
84-
ValidationMessages = validationMessages ?? ValidationMessages.Instance;
84+
ValidationMessages = validationMessages ?? Resources.Instance;
8585
ResponseFileHandling = responseFileHandling;
8686
Middleware = middlewarePipeline ?? new List<InvocationMiddleware>();
8787
HelpBuilderFactory = helpBuilderFactory ?? (context => new HelpBuilder(context.Console));
@@ -128,7 +128,7 @@ private void AddGlobalOptionsToChildren(Command parentCommand)
128128
/// <summary>
129129
/// Gets the validation messages.
130130
/// </summary>
131-
public ValidationMessages ValidationMessages { get; }
131+
public Resources ValidationMessages { get; }
132132

133133
internal Func<BindingContext, IHelpBuilder> HelpBuilderFactory { get; }
134134

src/System.CommandLine/Help/HelpOption.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public HelpOption() : base(new[]
1212
"--help",
1313
"-?",
1414
"/?"
15-
}, "Show help and usage information")
15+
}, Resources.Instance.HelpOptionDescription() )
1616
{
1717
}
1818

src/System.CommandLine/Parsing/SymbolResult.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace System.CommandLine.Parsing
88
public abstract class SymbolResult
99
{
1010
private protected readonly List<Token> _tokens = new List<Token>();
11-
private ValidationMessages? _validationMessages;
11+
private Resources? _validationMessages;
1212
private readonly Dictionary<IArgument, ArgumentResult> _defaultArgumentValues = new Dictionary<IArgument, ArgumentResult>();
1313

1414
private protected SymbolResult(
@@ -53,9 +53,9 @@ internal int MaximumArgumentCapacity()
5353
return value;
5454
}
5555

56-
protected internal ValidationMessages ValidationMessages
56+
protected internal Resources ValidationMessages
5757
{
58-
get => _validationMessages ??= Parent?.ValidationMessages ?? ValidationMessages.Instance;
58+
get => _validationMessages ??= Parent?.ValidationMessages ?? Resources.Instance;
5959
set => _validationMessages = value;
6060
}
6161

src/System.CommandLine/Properties/Resources.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)