diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-02-10 22:56:37 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-02-10 22:56:37 +0100 |
| commit | 534000b7831a6b536353053e47d582cf6c7f3053 (patch) | |
| tree | 81bef9ef5089c168d68407af9f1876697ba81223 /vis-cmds.c | |
| parent | 197ab824206335eab7ceed774ddeccac18fafc09 (diff) | |
| download | vis-534000b7831a6b536353053e47d582cf6c7f3053.tar.gz vis-534000b7831a6b536353053e47d582cf6c7f3053.tar.xz | |
vis: tweak <F1> help text list all available key actions
Diffstat (limited to 'vis-cmds.c')
| -rw-r--r-- | vis-cmds.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -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; } |
