public static void AppendResults (List<string> results, string prefix, IEnumerable<string> names)
{
foreach (string name in names) {
- if (name == null || prefix == null)
+ if (name == null)
continue;
- if (!name.StartsWith (prefix))
+ if (prefix != null && !name.StartsWith (prefix))
continue;
if (results.Contains (name))
AppendResults (results, partial_name, r);
}
- throw new CompletionResult (partial_name == null ? "" : partial_name, results.ToArray ());
+ throw new CompletionResult (partial_name == null ? "" : partial_name, results.Distinct ().ToArray ());
}
protected override void CloneTo (CloneContext clonectx, Expression t)
results = temp;
}
- throw new CompletionResult (partial_name == null ? "" : partial_name, results.ToArray ());
+ throw new CompletionResult (partial_name == null ? "" : partial_name, results.Distinct ().ToArray ());
}
protected override void CloneTo (CloneContext clonectx, Expression t)