aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vis-cmds.c10
1 files changed, 10 insertions, 0 deletions
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);