in src/PSDocs/Pipeline/PathBuilder.cs [459:500]
public bool TryMatchAA(PathStream other, int start)
{
var offset = start;
do
{
if (IsUnmatchedSingle(other, offset))
offset++;
// Determine if fully matched to end or the next any match
if (other.IsWildcardAA(offset))
{
other.Skip(offset);
return true;
}
else if (other.IsWildardA(offset) && TryMatchA(other, offset + 1))
{
return true;
}
//(IsSingleWildcard(c) && other.Peak(offset + 1, out char cnext) && IsMatch(cnext))
//if (TryMatchCharacter(other, offset))
//{
//}
// Try to match the remaining
if (TryMatch(other, offset))
{
offset++;
}
else
{
offset = start;
}
if (offset + other._Position >= other._Path.Length)
{
other.Skip(offset);
return true;
}
} while (Next());
return false;
}