Web lists-archives.com

Re: [PATCH v5] userdiff: add Octave




Am 18.05.19 um 05:46 schrieb Boxuan Li:
> 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. Octave
> pattern is merged into Matlab pattern. Test cases for
> the hunk header patterns of matlab and octave under
> t/t4018 are added.

Thank you! This patch looks good. With or without the grammar and style
fixes below:

Acked-by: Johannes Sixt <j6t@xxxxxxxx>

Junio will very likely appreciate if you resend with these fixes applied.

> 
> Signed-off-by: Boxuan Li <liboxuan@xxxxxxxxxxxxxx>
> ---
> v1: use matlab pattern for octave
> v2: add a new octave pattern
> v3: fix indentation problem of v2
> v4: improve doc and commit message
> v5: merge octave pattern into matlab and add test cases
> ---

> diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
> index 4fb20cd0e9..e657a6b7b7 100644
> --- a/Documentation/gitattributes.txt
> +++ b/Documentation/gitattributes.txt
> @@ -819,7 +819,7 @@ patterns are available:
>  
>  - `java` suitable for source code in the Java language.
>  
> -- `matlab` suitable for source code in the MATLAB language.
> +- `matlab` suitable for source code in the MATLAB and Octave language.

s/language/languages/

>  
>  - `objc` suitable for source code in the Objective-C language.
>  

> diff --git a/userdiff.c b/userdiff.c
> index 3a78fbf504..bcae006abe 100644
> --- a/userdiff.c
> +++ b/userdiff.c
> @@ -58,7 +58,10 @@ PATTERNS("java",
>  	 "|[-+*/<>%&^|=!]="
>  	 "|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
>  PATTERNS("matlab",
> -	 "^[[:space:]]*((classdef|function)[[:space:]].*)$|^%%[[:space:]].*$",
> +	 /* Octave pattern is mostly the same as matlab, except that '%%%' and
> +	  * '##' can also be used to begin code sections, in addition to '%%'
> +	  * that is understood by both. */

	/*
	 * We write multi-line
	 * comments like this.
	 */

> +	 "^[[: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 */
> 

-- Hannes