about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--catgirl.14
-rw-r--r--tag.c24
2 files changed, 17 insertions, 11 deletions
diff --git a/catgirl.1 b/catgirl.1
index 88f1945..5be44ec 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -88,7 +88,7 @@ the same as the nickname.
 .
 .It Fl v
 Show raw IRC protocol in the
-.Sy -raw-
+.Sy <raw>
 window.
 .
 .It Fl w Ar pass
@@ -181,7 +181,7 @@ matching the
 .
 .It Ic /raw
 Toggle the
-.Sy -raw-
+.Sy <raw>
 window.
 .
 .It Ic /url
diff --git a/tag.c b/tag.c
index e9b098b..13e06f3 100644
--- a/tag.c
+++ b/tag.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2018  Curtis McEnroe <june@causal.agency>
+/* Copyright (C) 2018  C. McEnroe <june@causal.agency>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
@@ -21,20 +21,26 @@
 
 #include "chat.h"
 
-#define NONE   "-none-"
-#define STATUS "-status-"
-#define RAW    "-raw-"
+#define GLOBAL_TAGS \
+	X(TagNone,   0, "<none>") \
+	X(TagStatus, 1, "<status>") \
+	X(TagRaw,    2, "<raw>")
+enum { GlobalTagsLen = 3 };
 
-const struct Tag TagNone   = { 0, NONE };
-const struct Tag TagStatus = { 1, STATUS };
-const struct Tag TagRaw    = { 2, RAW };
+#define X(tag, id, name) const struct Tag tag = { id, name };
+GLOBAL_TAGS
+#undef X
 
 static struct {
 	char *name[TagsLen];
 	size_t len;
 } tags = {
-	.name = { NONE, STATUS, RAW },
-	.len = 3,
+	.name = {
+#define X(_, id, name) [id] = name,
+		GLOBAL_TAGS
+#undef X
+	},
+	.len = GlobalTagsLen,
 };
 
 struct Tag tagFind(const char *name) {