/* Commands to find the beginning of the current or next functions. These will
* match any line that starts with a letter or underscore, then a sequence of
* letters or numbers, then something that's not 1 color (so it'll skip past
* labels, public, private, and protected). It will optionally skip past one
* old-style comment at the beginning of the line, so it'll match lines that
* look like this:
*/
// "/*static*/ void Testproc(void)"
/*
* Alternate search strings (for different coding styles) might include:
*/
#define PATTERN1 "^!(/%*.*%*/ ?)?[a-zA-Z_].*%("
/* which would match any line that starts with a letter and contains a left
* paren.
*
* This code is dedicated to the public domain with the caveat that Lugaru is
* welcome to use this within their distribution source code which is
* supplied with Epsilon.
*
* Glenn Dill
* gdill@icubed.com
*/
command find_function_start() {
re_search(-1, "^!(/%*.*%*/ ?)?[a-zA-Z_][a-zA-Z_0-9]*([^:a-zA-Z_0-9]|::)");
}
command find_next_function_start() {
nl_forward();
re_search(1, "^!(/%*.*%*/ ?)?[a-zA-Z_][a-zA-Z_0-9]*([^:a-zA-Z_0-9]|::)");
}