summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-02-25 14:28:44 -0500
committerJune McEnroe <june@causal.agency>2019-02-25 14:29:06 -0500
commit238f74efac1348d516516537f8f0d95fbed655ff (patch)
tree473661eb2fe8f4515549c8c97825a60341fccb67
parentAdd M-a to switch to hot or unread window (diff)
downloadcatgirl-238f74efac1348d516516537f8f0d95fbed655ff.tar.gz
catgirl-238f74efac1348d516516537f8f0d95fbed655ff.zip
Remove tag X macros again
Diffstat (limited to '')
-rw-r--r--tag.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/tag.c b/tag.c
index 13e06f3..cae5f03 100644
--- a/tag.c
+++ b/tag.c
@@ -21,28 +21,18 @@
 
 #include "chat.h"
 
-#define GLOBAL_TAGS \
-	X(TagNone,   0, "<none>") \
-	X(TagStatus, 1, "<status>") \
-	X(TagRaw,    2, "<raw>")
-enum { GlobalTagsLen = 3 };
-
-#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 = {
-#define X(_, id, name) [id] = name,
-		GLOBAL_TAGS
-#undef X
-	},
-	.len = GlobalTagsLen,
+	.name = { "<none>", "<status>", "<raw>" },
+	.len = 3,
 };
 
+const struct Tag TagNone   = { 0, "<none>" };
+const struct Tag TagStatus = { 1, "<status>" };
+const struct Tag TagRaw    = { 2, "<raw>" };
+
 struct Tag tagFind(const char *name) {
 	for (size_t id = 0; id < tags.len; ++id) {
 		if (strcmp(tags.name[id], name)) continue;
/td> 2018-09-15Render README from chatte.7June McEnroe 2018-09-14Factor out uiPrompt to call on nick changeJune McEnroe 2018-09-14Run test binaries with set -e and semicolonsJune McEnroe BSD make behaves oddly when trying to replace with &. 2018-09-14Fail target when any test binary failsJune McEnroe 2018-09-14Run tests in default targetJune McEnroe 2018-09-14Add termEvent testsJune McEnroe 2018-09-14Check width of entire next word including codesJune McEnroe This results in a tiny bit of premature wrapping for color codes, but that isn't a problem. 2018-09-14Remove word handling from formatParseJune McEnroe 2018-09-14Apply consecutive formatting codes at onceJune McEnroe Fixes the failing splits test. 2018-09-14Add tests for formatParseJune McEnroe With one currently failing so you know they're worth it. 2018-09-13Preview with nick in input windowJune McEnroe 2018-09-13Never send PRIVMSG to TagStatus or TagVerboseJune McEnroe 2018-09-13Move color selection to format.cJune McEnroe 2018-09-13Fix len for format->split at end of stringJune McEnroe 2018-09-13Avoid uninitialized x in uiReadJune McEnroe 2018-09-13Add IRCDefault to colors enumJune McEnroe 2018-09-13Return a format->split even at the end of the stringJune McEnroe 2018-09-13Fix weird tab-complete after commaJune McEnroe I have no idea why I did this. 2018-09-13Rewrite UI againJune McEnroe The persistent topic is gone and the status line is now at the top. The status formatting still needs to be reworked. I also want to try showing the nick in the input window so it really looks like your next message. 2018-09-12Add note about C-oJune McEnroe Why are there so few well usable ctrl key bindings? 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe Ridiculous. 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe