summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-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);
[]) { 0, 0, 0 }, 3); 2019-02-18Match whitespace between * [] {}June McEnroe 2019-02-18Fix function-like #define regexJune McEnroe A define like #define FOO (1) is not function-like. 2019-02-18Match Tag in RustJune McEnroe 2019-02-18Match sh functions as TagJune McEnroe 2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe 2019-02-18Match statics and typedefs as TagJune McEnroe 2019-02-18Clean up htmlHeaderJune McEnroe 2019-02-18Remove hi line numberingJune McEnroe Tags are much better for referring to specific parts of a file and line numbering is better done by a post-processing tool such as cat -n or producing a two-column HTML <table>. 2019-02-18Add Tag class to hiJune McEnroe 2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe Running hi twice to insert stuff between the head and the content is a bit of a hack but oh well. 2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe 2019-02-17Simplify temp trap in upJune McEnroe 2019-02-17Add line numbers to hiJune McEnroe Renames previous -n option to -m to stay consistent with cat -n. Prefixing lines with line numbers affects where the first tab indent ends up relative to the text above it. Not sure if it's worth fixing somehow. 2019-02-17Always split spans after newlinesJune McEnroe Simplifies ANSI and IRC output code, and prepares for line numbered output. 2019-02-15Color format specifiers light cyan in vimJune McEnroe 2019-02-15Highlight Interp as yellowJune McEnroe 2019-02-15Highlight strings in sh command substitutionsJune McEnroe 2019-02-15Add nmap gpJune McEnroe 2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe 2019-02-13Add forgotten "sixth" book of H2G2June McEnroe