Skip to content

Commit edf2982

Browse files
committed
Refs dotnet#1074 - Instead of "Required argument missing for command: {commandname}", should provide "Required argument {argumentname} missing for command: {commandname}" for better clarity as to which required argument is missing.
1 parent c75c74b commit edf2982

21 files changed

+65
-65
lines changed

src/System.CommandLine.Tests/ParserTests.MultipleArguments.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public void When_there_are_not_enough_tokens_for_all_arguments_then_the_correct_
307307
var numberOfMissingArgs =
308308
result
309309
.Errors
310-
.Count(e => e.Message == LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult));
310+
.Count(e => e.Message == LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult, command.Arguments.First()));
311311

312312
numberOfMissingArgs
313313
.Should()

src/System.CommandLine.Tests/ParserTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1401,7 +1401,7 @@ public void When_command_arguments_are_fewer_than_minimum_arity_then_an_error_is
14011401
result.Errors
14021402
.Select(e => e.Message)
14031403
.Should()
1404-
.Contain(LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult));
1404+
.Contain(LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult, command.Arguments.First()));
14051405
}
14061406

14071407
[Fact]
@@ -1489,7 +1489,7 @@ public void When_option_arguments_are_fewer_than_minimum_arity_then_an_error_is_
14891489
result.Errors
14901490
.Select(e => e.Message)
14911491
.Should()
1492-
.Contain(LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult.FindResultFor(option)));
1492+
.Contain(LocalizationResources.Instance.RequiredArgumentMissing(result.CommandResult.FindResultFor(option), command.Arguments.First()));
14931493
}
14941494

14951495
[Fact]

src/System.CommandLine.Tests/ResourceLocalizationTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public FakeLocalizationResources(string message)
6262

6363
public override string FileDoesNotExist(string filePath) => message;
6464

65-
public override string RequiredArgumentMissing(SymbolResult symbolResult) => message;
65+
public override string RequiredArgumentMissing(SymbolResult symbolResult, Argument argument) => message;
6666

6767
public override string RequiredCommandWasNotProvided() => message;
6868

src/System.CommandLine/ArgumentArity.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public override int GetHashCode()
9595

9696
return ArgumentConversionResult.Failure(
9797
argument,
98-
symbolResult.LocalizationResources.RequiredArgumentMissing(symbolResult),
98+
symbolResult.LocalizationResources.RequiredArgumentMissing(symbolResult, argument),
9999
ArgumentConversionResultType.FailedMissingArgument);
100100
}
101101

src/System.CommandLine/Binding/ArgumentConverter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ internal static ArgumentConversionResult ConvertIfNeeded(
195195
ArgumentConversionResultType.NoArgument when conversionResult.Argument.Arity.MinimumNumberOfValues > 0 =>
196196
ArgumentConversionResult.Failure(
197197
conversionResult.Argument,
198-
symbolResult.LocalizationResources.RequiredArgumentMissing(symbolResult),
198+
symbolResult.LocalizationResources.RequiredArgumentMissing(symbolResult, conversionResult.Argument),
199199
ArgumentConversionResultType.FailedMissingArgument),
200200

201201
_ => conversionResult

src/System.CommandLine/LocalizationResources.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ public virtual string InvalidCharactersInFileName(char invalidChar) =>
8787
/// <summary>
8888
/// Interpolates values into a localized string similar to Required argument missing for command: {0}.
8989
/// </summary>
90-
public virtual string RequiredArgumentMissing(SymbolResult symbolResult) =>
90+
public virtual string RequiredArgumentMissing(SymbolResult symbolResult, Argument argument) =>
9191
symbolResult is CommandResult
92-
? GetResourceString(Properties.Resources.CommandRequiredArgumentMissing, symbolResult.Token().Value)
93-
: GetResourceString(Properties.Resources.OptionRequiredArgumentMissing, symbolResult.Token().Value);
92+
? GetResourceString(Properties.Resources.CommandRequiredArgumentMissing, symbolResult.Token().Value, argument.Name)
93+
: GetResourceString(Properties.Resources.OptionRequiredArgumentMissing, symbolResult.Token().Value, argument.Name);
9494

9595
/// <summary>
9696
/// Interpolates values into a localized string similar to Required command was not provided.

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

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/System.CommandLine/Properties/Resources.resx

+2-2
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,10 @@
148148
<value>Character not allowed in a path: '{0}'.</value>
149149
</data>
150150
<data name="CommandRequiredArgumentMissing" xml:space="preserve">
151-
<value>Required argument missing for command: '{0}'.</value>
151+
<value>Required argument '{1}' missing for command: '{0}'.</value>
152152
</data>
153153
<data name="OptionRequiredArgumentMissing" xml:space="preserve">
154-
<value>Required argument missing for option: '{0}'.</value>
154+
<value>Required argument '{1}' missing for option: '{0}'.</value>
155155
</data>
156156
<data name="RequiredCommandWasNotProvided" xml:space="preserve">
157157
<value>Required command was not provided.</value>

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.de.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.es.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.fr.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.it.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.ja.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.ko.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.pl.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.pt-BR.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.ru.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.tr.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.zh-Hans.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

src/System.CommandLine/Properties/xlf/Resources.zh-Hant.xlf

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
<note />
3434
</trans-unit>
3535
<trans-unit id="CommandRequiredArgumentMissing">
36-
<source>Required argument missing for command: '{0}'.</source>
37-
<target state="new">Required argument missing for command: '{0}'.</target>
36+
<source>Required argument '{1}' missing for command: '{0}'.</source>
37+
<target state="new">Required argument '{1}' missing for command: '{0}'.</target>
3838
<note />
3939
</trans-unit>
4040
<trans-unit id="DirectoryDoesNotExist">
@@ -153,8 +153,8 @@
153153
<note />
154154
</trans-unit>
155155
<trans-unit id="OptionRequiredArgumentMissing">
156-
<source>Required argument missing for option: '{0}'.</source>
157-
<target state="new">Required argument missing for option: '{0}'.</target>
156+
<source>Required argument '{1}' missing for option: '{0}'.</source>
157+
<target state="new">Required argument '{1}' missing for option: '{0}'.</target>
158158
<note />
159159
</trans-unit>
160160
<trans-unit id="RequiredCommandWasNotProvided">

0 commit comments

Comments
 (0)