public virtual DelimiterResult GetIndex(string source, string delimiter, int minIndex, int tabSize) { minIndex = TabbifyIndex(source, minIndex, tabSize); int result = source.Length >= minIndex?source.IndexOf(delimiter, minIndex) : -1; return(DelimiterResult.Create(result)); }
public override DelimiterResult GetIndex(string source, string delimiter, int minIndex, int tabSize) { minIndex = TabbifyIndex(source, minIndex, tabSize); if (source.Length < minIndex) { return(DelimiterResult.Create(-1)); } var match = Regex.Match(source.Substring(minIndex), delimiter); if (!match.Success) { return(DelimiterResult.Create(-1)); } return(new DelimiterResult { CompareIndex = minIndex + GetGroupIndex(match, "compare", "x"), InsertIndex = minIndex + GetGroupIndex(match, "insert", "compare", "x") }); }