bracketPositionLeft function
Finds the brackets furthest to the left '(L) (R)' Returns a start and end position inp: bl(blim) (plumpy(stumpy)) out: 2, 7
Implementation
Option<StrPos> bracketPositionLeft(String source, BracketType bracketType) {
var bracket = getBracket(bracketType);
//remove bracket and space to the right
var startIndex = source.indexOf(bracket.start) + 1; //
//per char check for closing bracket
var bracketCount = 1;
for (var i = startIndex; i < source.length; i++) {
if (source[i] == bracket.start) bracketCount++;
if (source[i] == bracket.end) bracketCount--;
if (bracketCount == 0) return some(StrPos(startIndex, i));
}
return none();
}