nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nano-devel] [PATCH] syntax: c: change the highlighting of preproces


From: Liu Hao
Subject: Re: [Nano-devel] [PATCH] syntax: c: change the highlighting of preprocessor directives
Date: Wed, 13 Dec 2017 14:59:02 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

On 2017/12/10 22:38, Benno Schulenberg wrote:
> From: Liu Hao <address@hidden>
> 
> Some directives are colored in their entirety, while for a few others
> only the keyword itself is colored.
> 
> Signed-off-by: Liu Hao <address@hidden>
> ---
>  syntax/c.nanorc | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/syntax/c.nanorc b/syntax/c.nanorc
> index 78041ffa..95774c37 100644
> --- a/syntax/c.nanorc
> +++ b/syntax/c.nanorc
> @@ -15,7 +15,6 @@ color green 
> "\<(class|namespace|template|public|protected|private|typename|this|
>  color brightyellow "\<(for|if|while|do|else|case|default|switch)\>"
>  color brightyellow "\<(try|throw|catch|operator|new|delete)\>"
>  color magenta "\<(goto|continue|break|return)\>"
> -color brightcyan 
> "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)"
>  color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" 
> "'\\x[0-9A-Fa-f]{1,2}'"
>  
>  # GCC builtins.
> @@ -23,11 +22,15 @@ color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" 
> "__(aligned|asm|builtin|hidd
>  
>  # Strings.  In general you will want your strings and comments to come last,
>  # because highlighting rules are applied in the order they are read in.
> -color brightyellow ""([^"]|\\")*"" "<[^[:blank:]=]*>"
> +color brightyellow ""([^"]|\\")*"" 
> "#[[:space:]]*include[[:space:]]+<[^[:blank:]=]*>"
>  # Multiline strings.  This regex is VERY resource intensive,
>  # and sometimes colours things that shouldn't be coloured.
>  ###color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*""
>  
> +# Preprocessor directives.
> +color brightcyan 
> start="^[[:space:]]*#[[:space:]]*(if(n?def)?|elif|warning|error|pragma)\>" 
> end="[^\\]$"
> +color brightcyan 
> "^[[:space:]]*#[[:space:]]*(define|else|endif|include(_next)?)\>"
> +
>  # Comments.
>  color brightblue "//.*"
>  color brightblue start="/\*" end="\*/"
> 

Another issue is that `#undef` is missing in this patch.


-- 
Best regards,
LH_Mouse




reply via email to

[Prev in Thread] Current Thread [Next in Thread]