Re: [PATCH v3] userdiff.c & doc/gitattributes.txt: add Octave
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- May 15, 2019, 17:46 UTC
- Message-ID
- <a2455214-9ce5-71e3-74bc-114af6fcfca7@kdbg.org>
- In-Reply-To
- <CALM0=-n_=8K4RWE9MvwPFT26UwN-rAA09ryqdTfEF4GJ57YBjg@mail.gmail.com>
Am 15.05.19 um 08:15 schrieb LI, BO XUAN:
Show 28 quoted lines
> On Wed, May 15, 2019 at 1:57 PM Johannes Sixt <j6t@kdbg.org> 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