public int GetMatchingBracketOffset (System.ComponentModel.BackgroundWorker worker, int offset)
{
if (offset < 0 || offset >= TextLength)
return -1;
char ch = GetCharAt (offset);
int bracket = openBrackets.IndexOf (ch);
int result;
if (bracket >= 0) {
result = SearchMatchingBracketForward (worker, offset + 1, bracket);
} else {
bracket = closingBrackets.IndexOf (ch);
if (bracket >= 0) {
result = SearchMatchingBracketBackward (worker, offset - 1, bracket);
} else {
result = -1;
}
}
return result;
}
IBracketMatcher bracketMatcher = new DefaultBracketMatcher ();