Octave pattern is almost the same as matlab. Besides, octave also uses '%%%' or '##' to begin code sections. Signed-off-by: Boxuan Li <liboxuan@xxxxxxxxxxxxxx> --- Update from v2: fix indentation --- Documentation/gitattributes.txt | 2 ++ userdiff.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index 4fb20cd0e9..45374c7dd3 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -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. diff --git a/userdiff.c b/userdiff.c index 3a78fbf504..7d07b82116 100644 --- a/userdiff.c +++ b/userdiff.c @@ -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. In addition, Octave + * supports '##' and '%%%' for code sections */ + "^[[: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" -- 2.21.0.777.g83232e3864