@@ -198,21 +198,39 @@ private void ShowCommandHelp ( string description, List<FlowCommandParameter> pa
198198 private void ShowParameters ( List < FlowCommandParameter > commandParameters ) {
199199 if ( commandParameters . Any ( a => a . Required ) ) {
200200 m_commandLineProvider . WriteLine ( "The following arguments are available:" ) ;
201- foreach ( var parameter in commandParameters . Where ( a => a . Required ) ) {
201+ var requiredParameters = commandParameters
202+ . Where ( a => a . Required )
203+ . ToList ( ) ;
204+ var maximumLength = requiredParameters
205+ . Select ( a => ( ! string . IsNullOrEmpty ( a . FullName ) ? a . FullName . Count ( ) + 2 : 0 ) + ( ! string . IsNullOrEmpty ( a . ShortName ) ? a . ShortName . Count ( ) + 1 : 0 ) )
206+ . Max ( ) ;
207+ foreach ( var parameter in requiredParameters ) {
202208 var parameters = new List < string > ( ) ;
203209 if ( ! string . IsNullOrEmpty ( parameter . FullName ) ) parameters . Add ( $ "--{ parameter . FullName } " ) ;
204210 if ( ! string . IsNullOrEmpty ( parameter . ShortName ) ) parameters . Add ( $ "-{ parameter . ShortName } " ) ;
205211
206- m_commandLineProvider . WriteLine ( $ " { string . Join ( ' ' , parameters ) } { parameter . Description } " ) ;
212+ var parametersValue = string . Join ( ' ' , parameters ) ;
213+ if ( parametersValue . Length < maximumLength ) parametersValue += string . Join ( "" , Enumerable . Repeat ( ' ' , maximumLength - parametersValue . Length ) ) ;
214+
215+ m_commandLineProvider . WriteLine ( $ " { parametersValue } { parameter . Description } " ) ;
207216 }
208217 }
209218 if ( commandParameters . Any ( a => ! a . Required ) ) {
210219 m_commandLineProvider . WriteLine ( "The following options are available:" ) ;
211- foreach ( var parameter in commandParameters . Where ( a => ! a . Required ) ) {
220+
221+ var nonRequiredParameters = commandParameters . Where ( a => ! a . Required ) ;
222+ var maximumLength = nonRequiredParameters
223+ . Select ( a => ( ! string . IsNullOrEmpty ( a . FullName ) ? a . FullName . Count ( ) + 2 : 0 ) + ( ! string . IsNullOrEmpty ( a . ShortName ) ? a . ShortName . Count ( ) + 1 : 0 ) )
224+ . Max ( ) ;
225+
226+ foreach ( var parameter in nonRequiredParameters ) {
212227 var parameters = new List < string > ( ) ;
213228 if ( ! string . IsNullOrEmpty ( parameter . FullName ) ) parameters . Add ( $ "--{ parameter . FullName } " ) ;
214229 if ( ! string . IsNullOrEmpty ( parameter . ShortName ) ) parameters . Add ( $ "-{ parameter . ShortName } " ) ;
215230
231+ var parametersValue = string . Join ( ' ' , parameters ) ;
232+
233+
216234 m_commandLineProvider . WriteLine ( $ " { string . Join ( ' ' , parameters ) } { parameter . Description } " ) ;
217235 }
218236 }
0 commit comments