if (filetype != ".pas") { beep; endmacro; } #posX = x; #posY = y; $srBuf = searchbuffer; #srOpt = searchoption; disabledraw; disableinvert; gofiletop; escape; searchdown2 "^[ \\t]*implementation\\>", regular; if (!result) { beep; endmacro; } escape; #i = 0; while (1) { searchdown2 "^[ \\t]*(procedure|function)\\>", regular; if (!result) { break; } escape; while (code == 32 || code == 9) { right; } beginsel; searchdown "\\n|;", regular; endsel; #selTopX = seltopx; #selTopY = seltopy; #selEndX = selendx; #selEndY = selendy; $menuItems[#i] = gettext(#selTopX, #selTopY, #selEndX, #selEndY); $menuItems[#i][0] = str(lineno); #i = #i + 1; } setsearch $srBuf, #srOpt; moveto #posX, #posY; enabledraw; enableinvert; if (#i == 0) { beep; endmacro; } mousemenuarray $menuItems, #i; if (result) { #i = result - 1; movetolineno 1, val($menuItems[#i][0]); } endmacro;