8000 suggestions exclude sibling command aliases · jonsequitur/command-line-api@af42e2b · GitHub
[go: up one dir, main page]

Skip to content

Commit af42e2b

Browse files
committed
suggestions exclude sibling command aliases
1 parent 9cdcb23 commit af42e2b

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/System.CommandLine.Tests/SuggestionTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,34 @@ public void When_a_subcommand_has_been_specified_then_its_sibling_commands_will_
215215
.NotContain(new[]{"apple", "banana", "cherry"});
216216
}
217217

218+
[Fact]
219+
public void When_a_subcommand_has_been_specified_then_its_sibling_commands_aliases_will_not_be_suggested()
220+
{
221+
var apple = new Command("apple")
222+
{
223+
new Option("--cortland")
224+
};
225+
apple.AddAlias("apl");
226+
227+
var banana = new Command("banana")
228+
{
229+
new Option("--cavendish")
230+
};
231+
banana.AddAlias("bnn");
232+
233+
var rootCommand = new RootCommand
234+
{
235+
apple,
236+
banana
237+
};
238+
239+
var result = rootCommand.Parse("banana ");
240+
241+
result.GetSuggestions()
242+
.Should()
243+
.NotContain(new[] { "apl", "bnn" });
244+
}
245+
218246
[Fact]
219247
public void When_a_subcommand_has_been_specified_then_its_sibling_options_will_be_suggested()
220248
{

src/System.CommandLine/Parsing/ParseResultExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ currentSymbol is ISuggestionSource currentSuggestionSource
234234
.Except(parentSymbol
235235
.Children
236236
.OfType<ICommand>()
237-
.Select(c => c.Name));
237+
.SelectMany(c => c.RawAliases));
238238
}
239239

240240
if (currentSymbolResult is CommandResult commandResult)

0 commit comments

Comments
 (0)
0