mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Remove duplicate modules from completion results (#25538)
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user