=== modified file 'etc/ChangeLog' --- etc/ChangeLog 2012-03-16 23:20:37 +0000 +++ etc/ChangeLog 2012-03-19 08:11:15 +0000 @@ -1,3 +1,7 @@ +2012-03-19 Olivier Sirven + + * lib-src/etags.c: Add support for PHP5 syntax + 2012-03-16 Glenn Morris * HELLO: Say that this is not a comprehensive list. === modified file 'lib-src/etags.c' --- lib-src/etags.c 2012-01-19 07:21:25 +0000 +++ lib-src/etags.c 2012-03-19 08:05:30 +0000 @@ -4466,6 +4466,39 @@ lb.buffer, cp - lb.buffer + 1, lineno, linecharno); search_identifier = FALSE; } + else if (LOOKING_AT (cp, "public") || + LOOKING_AT (cp, "private") || + LOOKING_AT (cp, "protected") || + LOOKING_AT (cp, "static")) + { + cp = skip_spaces (cp); + if (LOOKING_AT (cp, "function")) + { + if(*cp == '&') + cp = skip_spaces (cp+1); + if(*cp != '\0') + { + name = cp; + while (!notinname (*cp)) + cp++; + make_tag (name, cp - name, TRUE, + lb.buffer, cp - lb.buffer + 1, lineno, linecharno); + } + else + search_identifier = TRUE; + } + else if (members + && *cp == '$') + { + name = cp; + while (!notinname(*cp)) + cp++; + make_tag (name, cp - name, FALSE, + lb.buffer, cp - lb.buffer + 1, lineno, linecharno); + } + else + search_identifier = TRUE; + } else if (LOOKING_AT (cp, "function")) { if (*cp == '&') @@ -4507,7 +4540,8 @@ lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } else if (members - && LOOKING_AT (cp, "var") + && (LOOKING_AT (cp, "var") + || LOOKING_AT (cp, "const")) && *cp == '$') { name = cp;