about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-06 19:05:51 -0500
committerJune McEnroe <june@causal.agency>2020-02-06 19:05:51 -0500
commit9cff026b5a7ed15e5e34f51e796908e77a3bc3b4 (patch)
treea25710b4df69ba8642ed450b83fcc48c4ed76767
parentRender actions in italic (diff)
downloadcatgirl-9cff026b5a7ed15e5e34f51e796908e77a3bc3b4.tar.gz
catgirl-9cff026b5a7ed15e5e34f51e796908e77a3bc3b4.zip
Show input in italics for actions and set Debug prompt
-rw-r--r--ui.c58
1 files changed, 33 insertions, 25 deletions
diff --git a/ui.c b/ui.c
index 9f0bb88..96f722a 100644
--- a/ui.c
+++ b/ui.c
@@ -474,36 +474,44 @@ static void inputAdd(struct Style *style, const char *str) {
 }
 
 static void inputUpdate(void) {
-	wmove(input, 0, 0);
-	wattr_set(
-		input,
-		colorAttr(mapColor(self.color)),
-		colorPair(mapColor(self.color), -1),
-		NULL
-	);
+	size_t id = windows.active->id;
+	const char *nick = self.nick;
 	const char *head = editHead();
 	const char *skip = NULL;
-	if (self.nick) {
-		size_t id = windows.active->id;
-		if (NULL != (skip = commandIsPrivmsg(id, head))) {
-			waddch(input, '<');
-			waddstr(input, self.nick);
-			waddstr(input, "> ");
-		} else if (NULL != (skip = commandIsNotice(id, head))) {
-			waddch(input, '-');
-			waddstr(input, self.nick);
-			waddstr(input, "- ");
-		} else if (NULL != (skip = commandIsAction(id, head))) {
-			waddstr(input, "* ");
-			waddstr(input, self.nick);
-			waddch(input, ' ');
-		}
+	const char *pre = "";
+	const char *suf = " ";
+	struct Style style = { .fg = self.color, .bg = Default };
+	if (NULL != (skip = commandIsPrivmsg(id, head))) {
+		pre = "<";
+		suf = "> ";
+	} else if (NULL != (skip = commandIsNotice(id, head))) {
+		pre = "-";
+		suf = "- ";
+	} else if (NULL != (skip = commandIsAction(id, head))) {
+		style.attr |= A_ITALIC;
+		pre = "* ";
+	} else if (id == Debug) {
+		skip = head;
+		style.fg = Gray;
+		pre = "<<";
+		nick = NULL;
 	}
-	if (skip) head = skip;
 
 	int y, x;
-	struct Style style = Reset;
-	inputAdd(&style, head);
+	wmove(input, 0, 0);
+	if (skip) {
+		wattr_set(
+			input,
+			style.attr | colorAttr(mapColor(style.fg)),
+			colorPair(mapColor(style.fg), mapColor(style.bg)),
+			NULL
+		);
+		waddstr(input, pre);
+		if (nick) waddstr(input, nick);
+		waddstr(input, suf);
+	}
+	style.fg = Default;
+	inputAdd(&style, (skip ? skip : head));
 	getyx(input, y, x);
 	inputAdd(&style, editTail());
 	wclrtoeol(input);
ct'>Add juneJune McEnroe 2017-07-30Play nethack as ValkyrieJune McEnroe 2017-07-28Add toggle to hnelJune McEnroe 2017-07-28Install slJune McEnroe 2017-07-25Add up, supJune McEnroe 2017-07-24Autopickup ringsJune McEnroe 2017-07-24Name dogJune McEnroe 2017-07-23Add nethackrcJune McEnroe 2017-07-23Remove useless setuid in briJune McEnroe Don't you think it would be better if the setuid bit only gave you permission to do it and didn't do it for you? 2017-07-23Clean up hnel a tiny bitJune McEnroe 2017-07-21Set window size in hnelJune McEnroe 2017-07-21Add hnelJune McEnroe 2017-07-19chmod 600 in dtchJune McEnroe