Am 15.05.19 um 08:15 schrieb LI, BO XUAN: > On Wed, May 15, 2019 at 1:57 PM Johannes Sixt <j6t@xxxxxxxx> wrote: >> >> 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. > > '##' is not valid syntax in Matlab scripts. > > '%%%' is valid syntax in Matlab. However, it is not used as a section divider. In Matlab, is %%% followed by space at the beginning of a line *commonly* used for something different? If I were to make a guess, I would say no. If I'm right, it does not hurt to merge the Octave rules into the Matlab rules. -- Hannes