summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-12-29 17:44:48 -0500
committerJune McEnroe <june@causal.agency>2020-12-29 17:44:48 -0500
commit693d2d48b0c5dc584d01c6878bfc293823613f2a (patch)
treeaf169bacd1bed94b8a5809370d6ab27e9d31e1d8 /bin
parentMatch lex/yacc %% %{ %} lines as Macro (diff)
downloadsrc-693d2d48b0c5dc584d01c6878bfc293823613f2a.tar.gz
src-693d2d48b0c5dc584d01c6878bfc293823613f2a.zip
Clean up hilex code somewhat
Diffstat (limited to 'bin')
-rw-r--r--bin/hilex/hilex.c10
-rw-r--r--bin/hilex/irc.c8
-rw-r--r--bin/hilex/mdoc.l17
3 files changed, 18 insertions, 17 deletions
diff --git a/bin/hilex/hilex.c b/bin/hilex/hilex.c
index 43130f4d..8b824bcd 100644
--- a/bin/hilex/hilex.c
+++ b/bin/hilex/hilex.c
@@ -82,9 +82,13 @@ static const char *ClassName[] = {
 
 static void
 debugFormat(const char *opts[], enum Class class, const char *text) {
-	printf("%s(\33[3m", ClassName[class]);
-	FormatANSI.format(opts, class, text);
-	printf("\33[m)");
+	if (class != Normal) {
+		printf("%s(", ClassName[class]);
+		FormatANSI.format(opts, class, text);
+		printf(")");
+	} else {
+		printf("%s", text);
+	}
 }
 
 const struct Formatter FormatDebug = { .format = debugFormat };
diff --git a/bin/hilex/irc.c b/bin/hilex/irc.c
index acad66e0..99097a99 100644
--- a/bin/hilex/irc.c
+++ b/bin/hilex/irc.c
@@ -22,10 +22,10 @@
 #include "hilex.h"
 
 static const char *IRC[ClassCap] = {
-	[Keyword] = "\00315",
-	[Macro] = "\00303",
-	[Comment] = "\00302",
-	[String] = "\00310",
+	[Keyword]      = "\00315",
+	[Macro]        = "\0033",
+	[Comment]      = "\0032",
+	[String]       = "\00310",
 	[StringFormat] = "\00311",
 };
 
diff --git a/bin/hilex/mdoc.l b/bin/hilex/mdoc.l
index 88594b44..3dbba639 100644
--- a/bin/hilex/mdoc.l
+++ b/bin/hilex/mdoc.l
@@ -25,6 +25,8 @@
 
 %%
 
+[[:blank:]]+ { return Normal; }
+
 ^"." {
 	BEGIN(MacroLine);
 	return Keyword;
@@ -32,7 +34,7 @@
 
 ^".\\\"".* { return Comment; }
 
-<MacroLine>{
+<MacroLine,Heading>{
 	"\n" {
 		BEGIN(0);
 		return Normal;
@@ -52,18 +54,13 @@
 	"\""([^""]|"\\\"")*"\"" { return String; }
 }
 
-<Heading>{
-	"\n" {
-		BEGIN(0);
-		return Normal;
-	}
-
-	[^[:space:]].* { return IdentifierTag; }
-}
+<Heading>[^[:space:]].* { return IdentifierTag; }
 
 "\\"(.|"("..|"["[^]]*"]") { return String; }
 
-[[:blank:]]+|[^.\n""\\[:space:]]+|.|\n { return Normal; }
+[^.\\""[:space:]]+ { return Normal; }
+
+.|\n { return Normal; }
 
 %{
 	(void)yyunput;