Skip to content

Commit ddccb70

Browse files
committed
Resolve confliction in instanceChooser.cs after revert
1 parent 3a2c435 commit ddccb70

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

src/CommandLine/Core/InstanceChooser.cs

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,8 @@ bool preprocCompare(string command) =>
4646
arguments.Skip(1).FirstOrDefault() ?? string.Empty, nameComparer))
4747
: (autoVersion && preprocCompare("version"))
4848
? MakeNotParsed(types, new VersionRequestedError())
49-
5049
: MatchVerb(tokenizer, verbs, defaultVerb, arguments, nameComparer, ignoreValueCase, parsingCulture, autoHelp, autoVersion, nonFatalErrors);
51-
};
52-
50+
}
5351

5452
return arguments.Any()
5553
? choose()
@@ -96,22 +94,28 @@ private static ParserResult<object> MatchVerb(
9694
bool autoVersion,
9795
IEnumerable<ErrorType> nonFatalErrors)
9896
{
97+
string firstArg = arguments.First();
9998

100-
return verbs.Any(a => nameComparer.Equals(a.Item1.Name, arguments.First()))
101-
? InstanceBuilder.Build(
102-
Maybe.Just<Func<object>>(
103-
() =>
104-
verbs.Single(v => nameComparer.Equals(v.Item1.Name, arguments.First())).Item2.AutoDefault()),
105-
tokenizer,
106-
arguments.Skip(1),
107-
nameComparer,
108-
ignoreValueCase,
109-
parsingCulture,
110-
autoHelp,
111-
autoVersion,
112-
nonFatalErrors)
113-
: MatchDefaultVerb(tokenizer, verbs, defaultVerb, arguments, nameComparer, ignoreValueCase, parsingCulture, autoHelp, autoVersion, nonFatalErrors);
99+
var verbUsed = verbs.FirstOrDefault(vt =>
100+
nameComparer.Equals(vt.Item1.Name, firstArg)
101+
|| vt.Item1.Aliases.Any(alias => nameComparer.Equals(alias, firstArg))
102+
);
114103

104+
if (verbUsed == default)
105+
{
106+
return MatchDefaultVerb(tokenizer, verbs, defaultVerb, arguments, nameComparer, ignoreValueCase, parsingCulture, autoHelp, autoVersion, nonFatalErrors);
107+
}
108+
return InstanceBuilder.Build(
109+
Maybe.Just<Func<object>>(
110+
() => verbUsed.Item2.AutoDefault()),
111+
tokenizer,
112+
arguments.Skip(1),
113+
nameComparer,
114+
ignoreValueCase,
115+
parsingCulture,
116+
autoHelp,
117+
autoVersion,
118+
nonFatalErrors);
115119
}
116120

117121
private static HelpVerbRequestedError MakeHelpVerbRequestedError(

0 commit comments

Comments
 (0)