private IEnumerator<string> InitCompletementCore(string inTarget)
{
var indent = inTarget.TakeWhile(ch => ch == ' ').Count();
var t = inTarget.TrimStart();
var items = this.FilterCompletion(t)
.Select(item => item.PadLeft(item.Length+indent))
.OrderBy(item => item)
.ToList()
;
var noMatch = ! items.Any();
while (true) {
if (noMatch) {
yield return inTarget;
}
else {
foreach (var item in items) {
yield return item;
}
}
}
}