From c9605e7308d12b0365dee46a94c9d6032a604a94 Mon Sep 17 00:00:00 2001 From: Liu Hao Date: Thu, 7 Dec 2017 17:13:25 +0800 Subject: [PATCH] syntax: c: change the highlighting of preprocessor directives Some of these directives are now colored in their entirety, while for a few others it's still just the keyword itself that is colored. Signed-off-by: Liu Hao Signed-off-by: Benno Schulenberg --- syntax/c.nanorc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/syntax/c.nanorc b/syntax/c.nanorc index 85d8608f..bc1361e0 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)?|undef)\>" + # Comments. color brightblue "//.*" color brightblue start="/\*" end="\*/"