in lib/parameter_popup.dart [195:234]
Map<String, int>? _parameterInfo(String source, int offset) {
var parameterIndex = 0;
int? openingParenIndex;
var nesting = 0;
while (openingParenIndex == null && offset > 0) {
offset += -1;
if (nesting == 0) {
switch (source[offset]) {
case '(':
openingParenIndex = offset;
break;
case ',':
parameterIndex += 1;
break;
case ';':
return null;
case ')':
nesting += 1;
break;
}
} else {
switch (source[offset]) {
case '(':
nesting += -1;
break;
case ')':
nesting += 1;
break;
}
}
}
return openingParenIndex == null
? null
: {
'openingParenIndex': openingParenIndex,
'parameterIndex': parameterIndex
};
}