From 62719196b27496c3cc4ff97a92fc03627b1bab38 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 14 May 2003 15:09:14 +0000 Subject: 18536: EMACS and VI compatibility options --- Src/Zle/zle_keymap.c | 10 ++++++++++ Src/Zle/zle_main.c | 2 ++ 2 files changed, 12 insertions(+) (limited to 'Src/Zle') diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index c36657697..3a06bb632 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -1370,3 +1370,13 @@ getkeycmd(void) func = lastnamed; return func; } + +/**/ +mod_export void +zlesetkeymap(int mode) +{ + Keymap km = openkeymap((mode == VIMODE) ? "viins" : "emacs"); + if (!km) + return; + linkkeymap(km, "main", 0); +} diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index a8c97ba1b..1f2f07a09 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -1363,6 +1363,7 @@ setup_(Module m) refreshptr = zrefresh; spaceinlineptr = spaceinline; zlereadptr = zleread; + zlesetkeymapptr = zlesetkeymap; getkeyptr = getkey; @@ -1446,6 +1447,7 @@ finish_(Module m) refreshptr = noop_function; spaceinlineptr = noop_function_int; zlereadptr = fallback_zleread; + zlesetkeymapptr= noop_function_int; getkeyptr = NULL; -- cgit 1.4.1