From 534000b7831a6b536353053e47d582cf6c7f3053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Wed, 10 Feb 2016 22:56:37 +0100 Subject: vis: tweak help text list all available key actions --- vis-cmds.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/vis-cmds.c b/vis-cmds.c index 79d292a..ecb13c0 100644 --- a/vis-cmds.c +++ b/vis-cmds.c @@ -961,9 +961,9 @@ static bool cmd_earlier_later(Vis *vis, Filerange *range, enum CmdOpt opt, const return pos != EPOS; } -bool print_keybinding(const char *key, void *value, void *data) { - Text *txt = (Text*)data; - KeyBinding *binding = (KeyBinding*)value; +static bool print_keybinding(const char *key, void *value, void *data) { + Text *txt = data; + KeyBinding *binding = value; const char *desc = binding->alias; if (!desc && binding->action) desc = binding->action->help; @@ -976,6 +976,12 @@ static void print_mode(Mode *mode, Text *txt) { map_iterate(mode->bindings, print_keybinding, txt); } +static bool print_action(const char *key, void *value, void *data) { + Text *txt = data; + KeyAction *action = value; + return text_appendf(txt, " %-30s\t%s\n", key, action->help); +} + static bool cmd_help(Vis *vis, Filerange *range, enum CmdOpt opt, const char *argv[]) { if (!vis_window_new(vis, NULL)) return false; @@ -1000,6 +1006,9 @@ static bool cmd_help(Vis *vis, Filerange *range, enum CmdOpt opt, const char *ar for (Command *cmd = cmds; cmd && cmd->name[0]; cmd++) text_appendf(txt, " %s\n", cmd->name[0]); + text_appendf(txt, "\n Key binding actions\n\n"); + map_iterate(vis->actions, print_action, txt); + text_save(txt, NULL); return true; } -- cgit v1.2.3