summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-02-07 00:29:37 -0500
committerJune McEnroe <june@causal.agency>2019-02-07 00:29:37 -0500
commit2bffa1c4cbd59864a706c9db68d8ceed46db12ef (patch)
tree8353ef5d6ad93ab10de04c61bf97af7809af9bb8
parentAdd subexpression highlighting to hi (diff)
downloadsrc-2bffa1c4cbd59864a706c9db68d8ceed46db12ef.tar.gz
src-2bffa1c4cbd59864a706c9db68d8ceed46db12ef.zip
Move comments below strings in hi
Also add the #if 0 "comment" syntax.
-rw-r--r--bin/hi.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/bin/hi.c b/bin/hi.c
index d9666fec..21c171db 100644
--- a/bin/hi.c
+++ b/bin/hi.c
@@ -31,8 +31,8 @@ enum Class {
 	Normal,
 	Keyword,
 	Macro,
-	Comment,
 	String,
+	Comment,
 	ClassCount,
 };
 
@@ -54,10 +54,11 @@ static const struct Syntax CSyntax[] = {
 	{ Keyword, .subexp = 2, .pattern = CKB"(case|default)"CKB },
 	{ Macro,   .pattern = "^#.*" },
 	{ String,  .pattern = "<[^[:blank:]=]*>" },
-	{ Comment, .pattern = "//.*", },
-	{ Comment, .pattern = "/\\*", .pattend = "\\*/" },
 	{ String,  .pattern = "[LUu]?'([^']|\\\\')*'", },
 	{ String,  .pattern = "([LUu]|u8)?\"([^\"]|\\\\\")*\"", },
+	{ Comment, .pattern = "//.*", },
+	{ Comment, .pattern = "/\\*", .pattend = "\\*/" },
+	{ Comment, .pattern = "^#if 0", .pattend = "^#endif" },
 };
 
 static const struct Language {
@@ -127,8 +128,8 @@ static const enum SGR Style[ClassCount][2] = {
 	[Normal]  = { Reset, Default },
 	[Keyword] = { Reset, White },
 	[Macro]   = { Reset, Green },
-	[Comment] = { Reset, Blue },
 	[String]  = { Reset, Cyan },
+	[Comment] = { Reset, Blue },
 };
 
 static void ansiOutput(enum Class class, const char *str, size_t len) {
@@ -173,8 +174,8 @@ static const char *ClassName[ClassCount] = {
 	[Normal]  = "Normal",
 	[Keyword] = "Keyword",
 	[Macro]   = "Macro",
-	[Comment] = "Comment",
 	[String]  = "String",
+	[Comment] = "Comment",
 };
 
 static void htmlOutput(enum Class class, const char *str, size_t len) {
@@ -193,8 +194,8 @@ static void htmlDocumentHeader(const char *path) {
 		"<style>\n"
 		".hi.Keyword { color: dimgray; }\n"
 		".hi.Macro   { color: green; }\n"
-		".hi.Comment { color: navy; }\n"
 		".hi.String  { color: teal; }\n"
+		".hi.Comment { color: navy; }\n"
 		"</style>\n"
 	);
 	htmlHeader(path);