Skip to content

Commit 0d88427

Browse files
committed
* Separated required and not required to sections
1 parent 49ba181 commit 0d88427

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

src/FlowCommandLine/CommandLine.cs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,25 @@ private void ShowCommandHelp ( string description, List<FlowCommandParameter> pa
196196
}
197197

198198
private void ShowParameters ( List<FlowCommandParameter> commandParameters ) {
199-
m_commandLineProvider.WriteLine ( "The following parameters are available:" );
200-
foreach ( var parameter in commandParameters ) {
201-
var parameters = new List<string> ();
202-
if ( !string.IsNullOrEmpty ( parameter.FullName ) ) parameters.Add ( $"--{parameter.FullName}" );
203-
if ( !string.IsNullOrEmpty ( parameter.ShortName ) ) parameters.Add ( $"-{parameter.ShortName}" );
204-
205-
m_commandLineProvider.WriteLine ( $" {string.Join ( ' ', parameters )} {parameter.Description}" );
199+
if ( commandParameters.Any ( a => a.Required ) ) {
200+
m_commandLineProvider.WriteLine ( "The following arguments are available:" );
201+
foreach ( var parameter in commandParameters.Where ( a => a.Required ) ) {
202+
var parameters = new List<string> ();
203+
if ( !string.IsNullOrEmpty ( parameter.FullName ) ) parameters.Add ( $"--{parameter.FullName}" );
204+
if ( !string.IsNullOrEmpty ( parameter.ShortName ) ) parameters.Add ( $"-{parameter.ShortName}" );
205+
206+
m_commandLineProvider.WriteLine ( $" {string.Join ( ' ', parameters )} {parameter.Description}" );
207+
}
208+
}
209+
if ( commandParameters.Any ( a => !a.Required ) ) {
210+
m_commandLineProvider.WriteLine ( "The following options are available:" );
211+
foreach ( var parameter in commandParameters.Where ( a => !a.Required ) ) {
212+
var parameters = new List<string> ();
213+
if ( !string.IsNullOrEmpty ( parameter.FullName ) ) parameters.Add ( $"--{parameter.FullName}" );
214+
if ( !string.IsNullOrEmpty ( parameter.ShortName ) ) parameters.Add ( $"-{parameter.ShortName}" );
215+
216+
m_commandLineProvider.WriteLine ( $" {string.Join ( ' ', parameters )} {parameter.Description}" );
217+
}
206218
}
207219
}
208220

@@ -310,7 +322,7 @@ private List<string> GetParts () {
310322
currentPart.Clear ();
311323
continue;
312324
}
313-
if ( character == '-' && (previousCharacter == ' ' || currentIndex == 0) && !parameterStarted ) {
325+
if ( character == '-' && ( previousCharacter == ' ' || currentIndex == 0 ) && !parameterStarted ) {
314326
parameterStarted = true;
315327
result.Add ( currentPart.ToString () );
316328
currentPart.Clear ();

src/FlowCommandLineTests/CommandLineUnitTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ public void RunCommand_NotSuccess_RequiredField () {
217217
Assert.True ( isCorrect );
218218
Assert.Equal ( "Not all required parameters is defined!", messages.First () );
219219
Assert.Equal ( " ", messages.ElementAt ( 1 ) );
220-
Assert.Equal ( "The following parameters are available:", messages.ElementAt ( 2 ) );
220+
Assert.Equal ( "The following arguments are available:", messages.ElementAt ( 2 ) );
221221
Assert.Equal ( " --Parameter1 Description", messages.ElementAt ( 3 ) );
222222
}
223223

0 commit comments

Comments
 (0)