Remove duplicate modules from completion results (#25538)

This commit is contained in:
MartinGC94
2025-05-12 08:18:11 +05:00
committed by GitHub
parent e42ce16574
commit e7ee9da1ea
2 changed files with 42 additions and 7 deletions
@@ -499,11 +499,16 @@ namespace System.Management.Automation
nestedModulesToFilterOut = new(currentModule.NestedModules);
}
var completedModules = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
foreach (PSObject item in psObjects)
{
var moduleInfo = (PSModuleInfo)item.BaseObject;
var completionText = moduleInfo.Name;
var listItemText = completionText;
if (!completedModules.Add(completionText))
{
continue;
}
if (shortNameSearch
&& completionText.Contains('.')
&& !shortNamePattern.IsMatch(completionText.Substring(completionText.LastIndexOf('.') + 1))
@@ -526,7 +531,7 @@ namespace System.Management.Automation
completionText = CompletionHelpers.QuoteCompletionText(completionText, quote);
result.Add(new CompletionResult(completionText, listItemText, CompletionResultType.ParameterValue, toolTip));
result.Add(new CompletionResult(completionText, listItemText: moduleInfo.Name, CompletionResultType.ParameterValue, toolTip));
}
}