@@ -821,6 +821,8 @@ patterns are available:
- `matlab` suitable for source code in the MATLAB language.
+- `octave` suitable for source code in the Octave language.
+
- `objc` suitable for source code in the Objective-C language.
- `pascal` suitable for source code in the Pascal/Delphi language.
@@ -60,6 +60,11 @@ PATTERNS("java",
PATTERNS("matlab",
"^[[:space:]]*((classdef|function)[[:space:]].*)$|^%%[[:space:]].*$",
"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^']|\\|\\||&&"),
+PATTERNS("octave",
+ /* 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 */
"!^[ \t]*(do|for|if|else|return|switch|while)\n"
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. Signed-off-by: Boxuan Li <liboxuan@connect.hku.hk> --- Thanks to all the reviewers above, this is the fourth version: v1: use matlab pattern for octave v2: add a new octave pattern v3: fix indentation problem of v2 v4: improve doc and commit message --- Documentation/gitattributes.txt | 2 ++ userdiff.c | 5 +++++ 2 files changed, 7 insertions(+)