Am 11.05.19 um 06:13 schrieb Boxuan Li: > Octave pattern is almost the same as matlab. Besides, > octave also uses '%%%' or '##' to begin code sections. > > @@ -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" > In Matlab, are %%% and ## valid syntax? If not, instead of introducing a new language, please just extend the Matlab rule to treat %%% and ## as you need for Octave and mark your Octave files as Matlab. -- Hannes