commit - 1f496e7b32b9d7c16904e37cc30e9429556945f3
commit + c6be26e477ec817b6c8e56297729595524b7b9c3
blob - 41d778cbe0b60fa78a0cddd9953bbeaf9eeb519b
blob + c30b7e3163325c8d1e15b7970ec6b6d4fe2b128c
--- ChangeLog
+++ ChangeLog
2021-07-21 Omar Polo <op@omarpolo.com>
+
+ * ui.c (print_vline_descr): pretty print help lines
* defaults.c (load_default_keys): bind other-window to C-x o
blob - 4292085f16a406089816b95288f1602ac2f30fdf
blob + 5cc7dcd9be593acbe18b86fdf7ce51ef6f83cb95
--- defaults.c
+++ defaults.c
[LINE_COMPL] = {"", ""},
[LINE_COMPL_CURRENT] = {"", ""},
+
+ [LINE_HELP] = {"", ""},
};
struct line_face line_faces[] = {
.trail_pair = PCOMPL_CURR_TRAIL,
.attr = A_REVERSE,
.trail_attr = A_REVERSE,
+ },
+
+ /* help */
+ [LINE_HELP] = {
+ .prfx_pair = PHELP_PRFX,
+ .pair = PHELP,
+ .trail_pair = PHELP_TRAIL,
},
};
/* minibuffer */
{"compl", LINE_COMPL},
- {"compl.current", LINE_COMPL_CURRENT}
+ {"compl.current", LINE_COMPL_CURRENT},
+
+ /* help */
+ {"help", LINE_HELP},
};
static struct mapping *
blob - feff40f2d0a90f9370a0a962f0aebd390490ef54
blob + e7c87832db63b1d9e09565308a05e89b040bc161
--- help.c
+++ help.c
if ((l = calloc(1, sizeof(*l))) == NULL)
abort();
- l->type = LINE_TEXT;
- l->alt = NULL;
+ l->type = LINE_HELP;
+ l->line = strdup(prfx);
+ l->alt = (char*)cmd->cmd;
- asprintf(&l->line, "%s %s", prfx, cmd->cmd);
-
if (TAILQ_EMPTY(&helpwin.page.head))
TAILQ_INSERT_HEAD(&helpwin.page.head, l, lines);
else
blob - f5e9f458306a7c724e0d03e581549a55a1a16801
blob + 7df00153aef20574474487911253c30fa648bdf9
--- telescope.h
+++ telescope.h
/* minibuffer */
LINE_COMPL,
LINE_COMPL_CURRENT,
+
+ /* help */
+ LINE_HELP,
};
/* for lines: mark as hidden */
blob - ac941eeb88699330a5d78d5271177dba3336ad4c
blob + 9abd944ed9c1c3f0bc2c5bbdd1d71d207ffc1d35
--- ui.c
+++ ui.c
int x, y, goal;
if (vl->parent->type != LINE_COMPL &&
- vl->parent->type != LINE_COMPL_CURRENT)
+ vl->parent->type != LINE_COMPL_CURRENT &&
+ vl->parent->type != LINE_HELP)
return;
if (vl->parent->alt == NULL)
(void)y;
getyx(window, y, x);
- goal = width/2;
+ if (vl->parent->type == LINE_HELP)
+ goal = 8;
+ else
+ goal = width/2;
+
if (goal <= x)
wprintw(window, " ");
for (; goal > x; ++x)
blob - db3789d6001bd4fab4e04a800b1e045e5b9748ad
blob + 9e4beea54dee556d8373c629423cee16e377e2ea
--- ui.h
+++ ui.h
PCOMPL_CURR,
PCOMPL_CURR_TRAIL,
+ PHELP_PRFX,
+ PHELP,
+ PHELP_TRAIL,
+
PMODELINE,
PMINIBUF,
blob - 1d4731e413b208c4a3095363a3d08fa437ae13c4
blob + 87393e3d4ab3e7bfe8fc9c291eea287064fbb55e
--- wrap.c
+++ wrap.c
free(l->line);
if (l->type != LINE_COMPL &&
- l->type != LINE_COMPL_CURRENT)
+ l->type != LINE_COMPL_CURRENT &&
+ l->type != LINE_HELP)
free(l->alt);
free(l);
break;
case LINE_COMPL:
case LINE_COMPL_CURRENT:
+ case LINE_HELP:
wrap_one(buffer, prfx, l, width);
break;
}