summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Kana Natsuno <dev@whileimautomaton.net>2018-07-03 22:15:40 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-07-06 14:59:28 -0700
commit1ab631647e3addd247c5482e8a3d4c9df7978c62 (patch)
tree1bbc145b8273ce532ce87863c235fdce1162cf47
parentt4018: add missing test cases for PHP (diff)
downloadtgif-1ab631647e3addd247c5482e8a3d4c9df7978c62.tar.xz
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>
-rw-r--r--t/t4018/php-abstract-class4
-rw-r--r--t/t4018/php-final-class4
-rw-r--r--t/t4018/php-interface4
-rw-r--r--t/t4018/php-trait7
-rw-r--r--userdiff.c2
5 files changed, 20 insertions, 1 deletions
diff --git a/t/t4018/php-abstract-class b/t/t4018/php-abstract-class
new file mode 100644
index 0000000000..5213e12494
--- /dev/null
+++ b/t/t4018/php-abstract-class
@@ -0,0 +1,4 @@
+abstract class RIGHT
+{
+ const FOO = 'ChangeMe';
+}
diff --git a/t/t4018/php-final-class b/t/t4018/php-final-class
new file mode 100644
index 0000000000..69f5710552
--- /dev/null
+++ b/t/t4018/php-final-class
@@ -0,0 +1,4 @@
+final class RIGHT
+{
+ const FOO = 'ChangeMe';
+}
diff --git a/t/t4018/php-interface b/t/t4018/php-interface
new file mode 100644
index 0000000000..86b49ad5d9
--- /dev/null
+++ b/t/t4018/php-interface
@@ -0,0 +1,4 @@
+interface RIGHT
+{
+ public function foo($ChangeMe);
+}
diff --git a/t/t4018/php-trait b/t/t4018/php-trait
new file mode 100644
index 0000000000..65b8c82a61
--- /dev/null
+++ b/t/t4018/php-trait
@@ -0,0 +1,7 @@
+trait RIGHT
+{
+ public function foo($ChangeMe)
+ {
+ return 'foo';
+ }
+}
diff --git a/userdiff.c b/userdiff.c
index a69241b25d..36af25e7f9 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -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]+"