MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / map_init_meta

Function map_init_meta

extern/editline/src/map.c:976–1011  ·  view source on GitHub ↗

map_init_meta(): * Bind all the meta keys to the appropriate ESC- sequence */

Source from the content-addressed store, hash-verified

974 * Bind all the meta keys to the appropriate ESC-<key> sequence
975 */
976private void
977map_init_meta(EditLine *el)
978{
979 Char buf[3];
980 int i;
981 el_action_t *map = el->el_map.key;
982 el_action_t *alt = el->el_map.alt;
983
984 for (i = 0; i <= 0377 && map[i] != EM_META_NEXT; i++)
985 continue;
986
987 if (i > 0377) {
988 for (i = 0; i <= 0377 && alt[i] != EM_META_NEXT; i++)
989 continue;
990 if (i > 0377) {
991 i = 033;
992 if (el->el_map.type == MAP_VI)
993 map = alt;
994 } else
995 map = alt;
996 }
997 buf[0] = (Char) i;
998 buf[2] = 0;
999 for (i = 0200; i <= 0377; i++)
1000 switch (map[i]) {
1001 case ED_INSERT:
1002 case ED_UNASSIGNED:
1003 case ED_SEQUENCE_LEAD_IN:
1004 break;
1005 default:
1006 buf[1] = i & 0177;
1007 keymacro_add(el, buf, keymacro_map_cmd(el, (int) map[i]), XK_CMD);
1008 break;
1009 }
1010 map[(int) buf[0]] = ED_SEQUENCE_LEAD_IN;
1011}
1012
1013
1014/* map_init_vi():

Callers 2

map_init_viFunction · 0.85
map_init_emacsFunction · 0.85

Calls 2

keymacro_addFunction · 0.85
keymacro_map_cmdFunction · 0.85

Tested by

no test coverage detected