--- php.c 2007-06-24 21:57:09.000000000 +0200 +++ php.c 2009-07-07 11:20:20.000000000 +0200 @@ -11,6 +11,7 @@ * variables. * * Parsing PHP defines by Pavel Hlousek , Apr 2003. +* Multiline comment fixes by Sander Marechal , Nov 2008. */ /* @@ -64,14 +65,14 @@ static void installPHPRegex (const langType language) { - addTagRegex(language, "(^|[ \t])class[ \t]+([" ALPHA "_][" ALNUM "_]*)", - "\\2", "c,class,classes", NULL); + addTagRegex(language, "(^[ \t]*(abstract)?[ \t]+)class[ \t]+([" ALPHA "_][" ALNUM "_]*)", + "\\3", "c,class,classes", NULL); addTagRegex(language, "(^|[ \t])interface[ \t]+([" ALPHA "_][" ALNUM "_]*)", "\\2", "i,interface,interfaces", NULL); addTagRegex(language, "(^|[ \t])define[ \t]*\\([ \t]*['\"]?([" ALPHA "_][" ALNUM "_]*)", "\\2", "d,define,constant definitions", NULL); - addTagRegex(language, "(^|[ \t])function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)", - "\\2", "f,function,functions", NULL); + addTagRegex(language, "(^[ \t]*(public|protected|private)?([ \t]*static)?[ \t]+)function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)", + "\\4", "f,function,functions", NULL); addTagRegex(language, "(^|[ \t])\\$([" ALPHA "_][" ALNUM "_]*)[ \t]*=", "\\2", "v,variable,variables", NULL); @@ -87,7 +88,7 @@ /* Create parser definition structure */ extern parserDefinition* PhpParser (void) { - static const char *const extensions [] = { "php", "php3", "phtml", NULL }; + static const char *const extensions [] = { "php", "php3", "php4", "php5", "phtml", NULL }; parserDefinition* def = parserNew ("PHP"); def->extensions = extensions; def->initialize = installPHPRegex;