static IntRange tok_findArgs(LS tok) { ret tok_findArgs(tok, getBracketMap(tok)); } static IntRange tok_findArgs(LS tok, Map bracketMap) { ret tok_findArgs(tok, 0, bracketMap); } static IntRange tok_findArgs(LS tok, int i, Map bracketMap) { i = indexOfAny(tok, i, "(", "{"); if (i < 0) null; if (eq(get(tok, i), "{")) null; int start = (i += 2); while (i < l(tok)-2 && neq(get(tok, i), ")")) { Int j = bracketMap.get(i); if (j != null) continue with i = j+2; i += 2; } ret intRange(start-1, i); }