aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-02-20 15:38:02 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-02-20 15:38:02 +0100
commit560ba1a3bdd53e962d42c1efda2e2b35b6ba3ba8 (patch)
tree55837e593726fdb1fa97279d71efeb3dfccd9d2f /vis-cmds.c
parent3b059c8b49b424cea51fd7d5c22934e7d81070ea (diff)
downloadvis-560ba1a3bdd53e962d42c1efda2e2b35b6ba3ba8.tar.gz
vis-560ba1a3bdd53e962d42c1efda2e2b35b6ba3ba8.tar.xz
vis: list layout specifc key mappings in <F1> help output
Diffstat (limited to 'vis-cmds.c')
-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);