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 коммит произвёл Junio C Hamano
Родитель 9992fbd7a1
Коммит 1ab631647e
5 изменённых файлов: 20 добавлений и 1 удалений

Просмотреть файл

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

4
t/t4018/php-final-class Normal file
Просмотреть файл

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

4
t/t4018/php-interface Normal file
Просмотреть файл

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

7
t/t4018/php-trait Normal file
Просмотреть файл

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

Просмотреть файл

@ -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]+"