summary refs log tree commit diff
path: root/userdiff.c
diff options
context:
space:
mode:
authorBoxuan Li <liboxuan@connect.hku.hk>2019-05-18 11:46:23 +0800
committerJunio C Hamano <gitster@pobox.com>2019-05-19 10:45:28 +0900
commit91bf382fcf51af04f25ba22e1b70ac13cce4bd0b (patch)
tree28e2bfad11e17276c3c03a8de38502b0ee50df9c /userdiff.c
parentab15ad1a3b4b04a29415aef8c9afa2f64fc194a2 (diff)
userdiff: add Octave
Octave pattern is almost the same as matlab, except
that '%%%' and '##' can also be used to begin code sections,
in addition to '%%' that is understood by both. Octave
pattern is merged into Matlab pattern. Test cases for
the hunk header patterns of matlab and octave under
t/t4018 are added.

Signed-off-by: Boxuan Li <liboxuan@connect.hku.hk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'userdiff.c')
-rw-r--r--userdiff.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/userdiff.c b/userdiff.c
index 3a78fbf504..bcae006abe 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -58,7 +58,10 @@ PATTERNS("java",
 	 "|[-+*/<>%&^|=!]="
 	 "|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
 PATTERNS("matlab",
-	 "^[[:space:]]*((classdef|function)[[:space:]].*)$|^%%[[:space:]].*$",
+	 /* Octave pattern is mostly the same as matlab, except that '%%%' and
+	  * '##' can also be used to begin code sections, in addition to '%%'
+	  * that is understood by both. */
+	 "^[[:space:]]*((classdef|function)[[:space:]].*)$|^(%%%?|##)[[:space:]].*$",
 	 "[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^']|\\|\\||&&"),
 PATTERNS("objc",
 	 /* Negate C statements that can look like functions */