07/04/30 22:53:09 HASqHr1/0
>>687 下方向。
var target = false, nest = 1, y = parseInt(ExpandParameter("$y"));
if(/^\s*#endif/.test(GetLineStr(0))) {
GoLineTop(1);
do {
SearchPrev("^\\s*#(?:if|ifdef|else|elif|endif)",2+4+16);
if(parseInt(ExpandParameter("$y"))==y) break;
y = parseInt(ExpandParameter("$y"));
if(/^\s*#endif/.test(GetLineStr(0))) nest++;
else if(/^\s*#(?:if|ifdef)/.test(GetLineStr(0))) nest--;
} while(nest > 0);
}
else {
if(/^\s*#(?:if|ifdef|else|elif)/.test(GetLineStr(0))) target = true;
GoLineEnd();
do {
SearchNext("^\\s*#(?:if|ifdef|else|elif|endif)",2+4+16);
if(parseInt(ExpandParameter("$y"))==y || target==false) break;
y = parseInt(ExpandParameter("$y"));
if(/^\s*#(?:if|ifdef)/.test(GetLineStr(0))) nest++;
else if(nest==1) nest--;
else nest -= /^\s*#endif/.test(GetLineStr(0)) ? 1 : 0
} while(nest > 0);
}
CancelMode();
SearchClearMark();
CurLineCenter();