private bool IsSuitableTag(IDoubleTag tag, string line, int index) => DoubleTagValidator.TagStartsFromPosition(line, index, tag.Opening) || DoubleTagValidator.TagStartsFromPosition(line, index, tag.Closing);
private static bool IsLastIndexPossibleForTag(string line, int index, IDoubleTag tag) => index == line.Length - tag.Closing.Length;
public static bool IsPossibleClosingTag(string line, int index, IDoubleTag tag) { return((IsLastIndexPossibleForTag(line, index, tag) || SymbolAfterTagIsSpace(line, index, tag)) && (IsFirstSymbol(index) || !SymbolBeforeCurrentIsSpace(line, index))); }
private static bool SymbolAfterTagIsSpace(string line, int index, IDoubleTag tag) => char.IsWhiteSpace(line[index + tag.Opening.Length]);