From 560ba1a3bdd53e962d42c1efda2e2b35b6ba3ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 20 Feb 2016 15:38:02 +0100 Subject: vis: list layout specifc key mappings in help output --- vis-cmds.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/vis-cmds.c b/vis-cmds.c index 19699d7..38c810f 100644 --- a/vis-cmds.c +++ b/vis-cmds.c @@ -964,6 +964,10 @@ static bool cmd_earlier_later(Vis *vis, Filerange *range, enum CmdOpt opt, const return pos != EPOS; } +static bool print_keylayout(const char *key, void *value, void *data) { + return text_appendf(data, " %-15s\t%s\n", key, (char*)value); +} + static bool print_keybinding(const char *key, void *value, void *data) { Text *txt = data; KeyBinding *binding = value; @@ -1000,6 +1004,12 @@ static bool cmd_help(Vis *vis, Filerange *range, enum CmdOpt opt, const char *ar text_appendf(txt, " %-15s\t%s\n", mode->name, mode->help); } + + if (!map_empty(vis->keymap)) { + text_appendf(txt, "\n Layout specific mappings (affects all modes except INSERT/REPLACE)\n\n"); + map_iterate(vis->keymap, print_keylayout, txt); + } + print_mode(&vis_modes[VIS_MODE_NORMAL], txt); print_mode(&vis_modes[VIS_MODE_OPERATOR_PENDING], txt); print_mode(&vis_modes[VIS_MODE_VISUAL], txt); -- cgit v1.2.3