summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ui.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/ui.c b/ui.c
index 83c4bc7..7ce0257 100644
--- a/ui.c
+++ b/ui.c
@@ -209,11 +209,33 @@ static void styleParse(struct Style *style, const char **str, size_t *len) {
 	*len = strcspn(*str, "\2\3\17\26\35\37");
 }
 
+static int wordWidth(const char *str) {
+	size_t len = strcspn(str, " ");
+	// TODO: wcswidth.
+	return len;
+}
+
 static void styleAdd(WINDOW *win, const char *str) {
+	int _, x, width;
+	getmaxyx(win, _, width);
+
 	size_t len;
 	struct Style style = Reset;
 	while (*str) {
+		if (*str == ' ') {
+			const char *word = &str[strspn(str, " ")];
+			getyx(win, _, x);
+			if (width - x - 1 < wordWidth(word)) {
+				waddch(win, '\n');
+				str = word;
+			}
+		}
+
 		styleParse(&style, &str, &len);
+		size_t sp = strspn(str, " ");
+		sp += strcspn(&str[sp], " ");
+		if (sp < len) len = sp;
+
 		wattr_set(
 			win,
 			style.attr | colorAttr(mapColor(style.fg)),
href='/src/commit/bin/quick.c?id=8121c09c4a144dc281638d9b50b655a11755900b&follow=1'>Use NI_NUMERICSERVJune McEnroe 2021-09-23Make up build away from FreeBSDJune McEnroe 2021-09-23Add quickJune McEnroe 2021-09-23Add The HobbitJune McEnroe 2021-09-22Remove PSF fontsJune McEnroe 2021-09-22Remove Linux-specific utilitiesJune McEnroe 2021-09-22Call sandbox in CGI modeJune McEnroe 2021-09-22Support HTTP PUT in upJune McEnroe 2021-09-22Remove default faviconJune McEnroe 2021-09-21Use Z_FILTERED strategyJune McEnroe 2021-09-21Recalculate various lengths only as neededJune McEnroe 2021-09-21Rewrite pngo, add explicit optionsJune McEnroe 2021-09-16Fix /* **/ comment matchingJune McEnroe 2021-09-15Remove typer, add downgrade to READMEJune McEnroe 2021-09-15Set bot mode on downgradeJune McEnroe 2021-09-15Enter capsicum in downgradeJune McEnroe 2021-09-15Factor out common parts of downgrade messagesJune McEnroe 2021-09-14Add downgrade IRC botJune McEnroe 2021-09-14Sort by title if authors matchJune McEnroe 2021-09-13Swap-remove tags as they're foundJune McEnroe 2021-09-12Replace htagml regex with strncmpJune McEnroe 2021-09-11Also defer printing comment for lone close-parensJune McEnroe 2021-09-10Publish "git-comment"June McEnroe 2021-09-10Add git comment --pretty optionJune McEnroe 2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe 2021-09-08Up default min-repeat to 30 linesJune McEnroe 2021-09-08Handle dirty lines in git-commentJune McEnroe 2021-09-08Document and install git-commentJune McEnroe 2021-09-08Add repeat and all options to git-commentJune McEnroe 2021-09-08Add group threshold to git-commentJune McEnroe