userdiff: support new keywords in PHP hunk header

Recent version of PHP supports interface, trait, abstract class and
final class.  This patch fixes the PHP hunk header regexp to support
all of these keywords.

Signed-off-by: Kana Natsuno <dev@whileimautomaton.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Kana Natsuno 2018-07-03 22:15:40 +09:00 committed by Junio C Hamano
parent 9992fbd7a1
commit 1ab631647e
5 changed files with 20 additions and 1 deletions

View File

@ -0,0 +1,4 @@
abstract class RIGHT
{
const FOO = 'ChangeMe';
}

4
t/t4018/php-final-class Normal file
View File

@ -0,0 +1,4 @@
final class RIGHT
{
const FOO = 'ChangeMe';
}

4
t/t4018/php-interface Normal file
View File

@ -0,0 +1,4 @@
interface RIGHT
{
public function foo($ChangeMe);
}

7
t/t4018/php-trait Normal file
View File

@ -0,0 +1,7 @@
trait RIGHT
{
public function foo($ChangeMe)
{
return 'foo';
}
}

View File

@ -114,7 +114,7 @@ PATTERNS("perl",
"|<<|<>|<=>|>>"),
PATTERNS("php",
"^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n"
"^[\t ]*(class.*)$",
"^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$",
/* -- */
"[a-zA-Z_][a-zA-Z0-9_]*"
"|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+"