nano-devel
[Top][All Lists]
Advanced

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

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


From: Benno Schulenberg
Subject: [Nano-devel] [PATCH] syntax: c: change the highlighting of preprocessor directives
Date: Sun, 10 Dec 2017 15:38:51 +0100

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="\*/"
-- 
2.14.3




reply via email to

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