summaryrefslogtreecommitdiffstats
path: root/contrib/tcsh/ed.defns.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tcsh/ed.defns.c')
-rw-r--r--contrib/tcsh/ed.defns.c1984
1 files changed, 0 insertions, 1984 deletions
diff --git a/contrib/tcsh/ed.defns.c b/contrib/tcsh/ed.defns.c
deleted file mode 100644
index 5124bde..0000000
--- a/contrib/tcsh/ed.defns.c
+++ /dev/null
@@ -1,1984 +0,0 @@
-/* $Header: /p/tcsh/cvsroot/tcsh/ed.defns.c,v 3.46 2006/03/02 18:46:44 christos Exp $ */
-/*
- * ed.defns.c: Editor function definitions and initialization
- */
-/*-
- * Copyright (c) 1980, 1991 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include "sh.h"
-
-RCSID("$tcsh: ed.defns.c,v 3.46 2006/03/02 18:46:44 christos Exp $")
-
-#include "ed.h"
-
-static void ed_InitMetaBindings (void);
-
-PFCmd CcFuncTbl[] = { /* table of available commands */
- e_unassigned,
-/* no #define here -- this is a dummy to detect initing of the key map */
- e_unassigned,
-#define F_UNASSIGNED 1
- e_insert,
-#define F_INSERT 2
- e_newline,
-#define F_NEWLINE 3
- e_delprev,
-#define F_DELPREV 4
- e_delnext,
-#define F_DELNEXT 5
- e_toend,
-#define F_TOEND 6
- e_tobeg,
-#define F_TOBEG 7
- e_charback,
-#define F_CHARBACK 8
- e_charfwd,
-#define F_CHARFWD 9
- e_quote,
-#define F_QUOTE 10
- e_startover,
-#define F_STARTOVER 11
- e_redisp,
-#define F_REDISP 12
- e_tty_int,
-#define F_TTY_INT 13
- e_wordback,
-#define F_WORDBACK 14
- e_wordfwd,
-#define F_WORDFWD 15
- e_cleardisp,
-#define F_CLEARDISP 16
- e_complete,
-#define F_COMPLETE 17
- e_correct,
-#define F_CORRECT 18
- e_up_hist,
-#define F_UP_HIST 19
- e_down_hist,
-#define F_DOWN_HIST 20
- e_up_search_hist,
-#define F_UP_SEARCH_HIST 21
- e_down_search_hist,
-#define F_DOWN_SEARCH_HIST 22
- e_helpme,
-#define F_HELPME 23
- e_list_choices,
-#define F_LIST_CHOICES 24
- e_delwordprev,
-#define F_DELWORDPREV 25
- e_delwordnext,
-#define F_DELWORDNEXT 26
- e_digit,
-#define F_DIGIT 27
- e_killend,
-#define F_KILLEND 28
- e_killbeg,
-#define F_KILLBEG 29
- e_metanext,
-#define F_METANEXT 30
- e_send_eof,
-#define F_SEND_EOF 31
- e_charswitch,
-#define F_CHARSWITCH 32
- e_which,
-#define F_WHICH 33
- e_yank_kill,
-#define F_YANK_KILL 34
- e_tty_dsusp,
-#define F_TTY_DSUSP 35
- e_tty_flusho,
-#define F_TTY_FLUSHO 36
- e_tty_quit,
-#define F_TTY_QUIT 37
- e_tty_tsusp,
-#define F_TTY_TSUSP 38
- e_tty_stopo,
-#define F_TTY_STOPO 39
- e_tty_starto,
-#define F_TTY_STARTO 40
- e_argfour,
-#define F_ARGFOUR 41
- e_set_mark,
-#define F_SET_MARK 42
- e_exchange_mark,
-#define F_EXCHANGE_MARK 43
- e_last_item,
-#define F_LAST_ITEM 44
- e_delnext_list_eof,
-#define F_DELNEXT_LIST_EOF 45
- v_cmd_mode,
-#define V_CMD_MODE 46
- v_insert,
-#define V_INSERT 47
- e_argdigit,
-#define F_ARGDIGIT 48
- e_killregion,
-#define F_KILLREGION 49
- e_copyregion,
-#define F_COPYREGION 50
- e_gcharswitch,
-#define F_GCHARSWITCH 51
- e_run_fg_editor,
-#define F_RUN_FG_EDITOR 52
- e_unassigned, /* place holder for sequence lead in character */
-#define F_XKEY 53
- e_uppercase,
-#define F_CASEUPPER 54
- e_lowercase,
-#define F_CASELOWER 55
- e_capitolcase,
-#define F_CASECAPITAL 56
- v_zero,
-#define V_ZERO 57
- v_add,
-#define V_ADD 58
- v_addend,
-#define V_ADDEND 59
- v_wordbegnext,
-#define V_WORDBEGNEXT 60
- e_killall,
-#define F_KILLALL 61
- e_unassigned,
-/* F_EXTENDNEXT removed */
- v_insbeg,
-#define V_INSBEG 63
- v_replmode,
-#define V_REPLMODE 64
- v_replone,
-#define V_REPLONE 65
- v_substline,
-#define V_SUBSTLINE 66
- v_substchar,
-#define V_SUBSTCHAR 67
- v_chgtoend,
-#define V_CHGTOEND 68
- e_list_eof,
-#define F_LIST_EOF 69
- e_list_glob,
-#define F_LIST_GLOB 70
- e_expand_history,
-#define F_EXPAND_HISTORY 71
- e_magic_space,
-#define F_MAGIC_SPACE 72
- e_insovr,
-#define F_INSOVR 73
- v_cm_complete,
-#define V_CM_COMPLETE 74
- e_copyprev,
-#define F_COPYPREV 75
- e_correctl,
-#define F_CORRECT_L 76
- e_expand_glob,
-#define F_EXPAND_GLOB 77
- e_expand_vars,
-#define F_EXPAND_VARS 78
- e_toggle_hist,
-#define F_TOGGLE_HIST 79
- v_change_case,
-#define V_CHGCASE 80
- e_expand,
-#define F_EXPAND 81
- e_load_average,
-#define F_LOAD_AVERAGE 82
- v_delprev,
-#define V_DELPREV 83
- v_delmeta,
-#define V_DELMETA 84
- v_wordfwd,
-#define V_WORDFWD 85
- v_wordback,
-#define V_WORDBACK 86
- v_endword,
-#define V_ENDWORD 87
- v_eword,
-#define V_EWORD 88
- v_undo,
-#define V_UNDO 89
- v_ush_meta,
-#define V_USH_META 90
- v_dsh_meta,
-#define V_DSH_META 91
- v_rsrch_fwd,
-#define V_RSRCH_FWD 92
- v_rsrch_back,
-#define V_RSRCH_BACK 93
- v_char_fwd,
-#define V_CHAR_FWD 94
- v_char_back,
-#define V_CHAR_BACK 95
- v_chgmeta,
-#define V_CHGMETA 96
- e_inc_fwd,
-#define F_INC_FWD 97
- e_inc_back,
-#define F_INC_BACK 98
- v_rchar_fwd,
-#define V_RCHAR_FWD 99
- v_rchar_back,
-#define V_RCHAR_BACK 100
- v_charto_fwd,
-#define V_CHARTO_FWD 101
- v_charto_back,
-#define V_CHARTO_BACK 102
- e_normalize_path,
-#define F_PATH_NORM 103
- e_delnext_eof, /* added by mtk@ari.ncl.omron.co.jp (920818) */
-#define F_DELNEXT_EOF 104
- e_stuff_char,
-#define F_STUFF_CHAR 105
- e_complete_all,
-#define F_COMPLETE_ALL 106
- e_list_all,
-#define F_LIST_ALL 107
- e_complete_fwd,
-#define F_COMPLETE_FWD 108
- e_complete_back,
-#define F_COMPLETE_BACK 109
- e_delnext_list,
-#define F_DELNEXT_LIST 110
- e_normalize_command,
-#define F_COMMAND_NORM 111
- e_dabbrev_expand,
-#define F_DABBREV_EXPAND 112
- e_copy_to_clipboard,
-#define F_COPY_CLIP 113
- e_paste_from_clipboard,
-#define F_PASTE_CLIP 114
- e_dosify_next,
-#define F_DOSIFY_NEXT 115
- e_dosify_prev,
-#define F_DOSIFY_PREV 116
- e_page_up,
-#define F_PAGE_UP 117
- e_page_down,
-#define F_PAGE_DOWN 118
- e_yank_pop,
-#define F_YANK_POP 119
- e_newline_hold,
-#define F_NEWLINE_HOLD 120
- e_newline_down_hist,
-#define F_NEWLINE_DOWN_HIST 121
- 0 /* DUMMY VALUE */
-#define F_NUM_FNS 122
-
-};
-
-KEYCMD NumFuns = F_NUM_FNS;
-
-KEYCMD CcKeyMap[NT_NUM_KEYS]; /* the real key map */
-KEYCMD CcAltMap[NT_NUM_KEYS]; /* the alternative key map */
-#define F_NUM_FUNCNAMES (F_NUM_FNS + 2)
-struct KeyFuncs FuncNames[F_NUM_FUNCNAMES];
-
-#ifdef WINNT_NATIVE
-extern KEYCMD CcEmacsMap[];
-extern KEYCMD CcViMap[];
-extern KEYCMD CcViCmdMap[];
-#else /* !WINNT_NATIVE*/
-KEYCMD CcEmacsMap[] = {
-/* keymap table, each index into above tbl; should be 256*sizeof(KEYCMD)
- bytes long */
-
- F_SET_MARK, /* ^@ */
- F_TOBEG, /* ^A */
- F_CHARBACK, /* ^B */
- F_TTY_INT, /* ^C */
- F_DELNEXT_LIST_EOF, /* ^D */
- F_TOEND, /* ^E */
- F_CHARFWD, /* ^F */
- F_UNASSIGNED, /* ^G */
- F_DELPREV, /* ^H */
- F_COMPLETE, /* ^I */
- F_NEWLINE, /* ^J */
- F_KILLEND, /* ^K */
- F_CLEARDISP, /* ^L */
- F_NEWLINE, /* ^M */
- F_DOWN_HIST, /* ^N */
- F_TTY_FLUSHO, /* ^O */
- F_UP_HIST, /* ^P */
- F_TTY_STARTO, /* ^Q */
- F_REDISP, /* ^R */
- F_TTY_STOPO, /* ^S */
- F_CHARSWITCH, /* ^T */
- F_KILLALL, /* ^U */
- F_QUOTE, /* ^V */
- F_KILLREGION, /* ^W */
- F_XKEY, /* ^X */
- F_YANK_KILL, /* ^Y */
- F_TTY_TSUSP, /* ^Z */
- F_METANEXT, /* ^[ */
- F_TTY_QUIT, /* ^\ */
- F_TTY_DSUSP, /* ^] */
- F_UNASSIGNED, /* ^^ */
- F_UNASSIGNED, /* ^_ */
- F_INSERT, /* SPACE */
- F_INSERT, /* ! */
- F_INSERT, /* " */
- F_INSERT, /* # */
- F_INSERT, /* $ */
- F_INSERT, /* % */
- F_INSERT, /* & */
- F_INSERT, /* ' */
- F_INSERT, /* ( */
- F_INSERT, /* ) */
- F_INSERT, /* * */
- F_INSERT, /* + */
- F_INSERT, /* , */
- F_INSERT, /* - */
- F_INSERT, /* . */
- F_INSERT, /* / */
- F_DIGIT, /* 0 */
- F_DIGIT, /* 1 */
- F_DIGIT, /* 2 */
- F_DIGIT, /* 3 */
- F_DIGIT, /* 4 */
- F_DIGIT, /* 5 */
- F_DIGIT, /* 6 */
- F_DIGIT, /* 7 */
- F_DIGIT, /* 8 */
- F_DIGIT, /* 9 */
- F_INSERT, /* : */
- F_INSERT, /* ; */
- F_INSERT, /* < */
- F_INSERT, /* = */
- F_INSERT, /* > */
- F_INSERT, /* ? */
- F_INSERT, /* @ */
- F_INSERT, /* A */
- F_INSERT, /* B */
- F_INSERT, /* C */
- F_INSERT, /* D */
- F_INSERT, /* E */
- F_INSERT, /* F */
- F_INSERT, /* G */
- F_INSERT, /* H */
- F_INSERT, /* I */
- F_INSERT, /* J */
- F_INSERT, /* K */
- F_INSERT, /* L */
- F_INSERT, /* M */
- F_INSERT, /* N */
- F_INSERT, /* O */
- F_INSERT, /* P */
- F_INSERT, /* Q */
- F_INSERT, /* R */
- F_INSERT, /* S */
- F_INSERT, /* T */
- F_INSERT, /* U */
- F_INSERT, /* V */
- F_INSERT, /* W */
- F_INSERT, /* X */
- F_INSERT, /* Y */
- F_INSERT, /* Z */
- F_INSERT, /* [ */
- F_INSERT, /* \ */
- F_INSERT, /* ] */
- F_INSERT, /* ^ */
- F_INSERT, /* _ */
- F_INSERT, /* ` */
- F_INSERT, /* a */
- F_INSERT, /* b */
- F_INSERT, /* c */
- F_INSERT, /* d */
- F_INSERT, /* e */
- F_INSERT, /* f */
- F_INSERT, /* g */
- F_INSERT, /* h */
- F_INSERT, /* i */
- F_INSERT, /* j */
- F_INSERT, /* k */
- F_INSERT, /* l */
- F_INSERT, /* m */
- F_INSERT, /* n */
- F_INSERT, /* o */
- F_INSERT, /* p */
- F_INSERT, /* q */
- F_INSERT, /* r */
- F_INSERT, /* s */
- F_INSERT, /* t */
- F_INSERT, /* u */
- F_INSERT, /* v */
- F_INSERT, /* w */
- F_INSERT, /* x */
- F_INSERT, /* y */
- F_INSERT, /* z */
- F_INSERT, /* { */
- F_INSERT, /* | */
- F_INSERT, /* } */
- F_INSERT, /* ~ */
- F_DELPREV, /* ^? */
- F_UNASSIGNED, /* M-^@ */
- F_UNASSIGNED, /* M-^A */
- F_UNASSIGNED, /* M-^B */
- F_UNASSIGNED, /* M-^C */
- F_LIST_CHOICES, /* M-^D */
- F_UNASSIGNED, /* M-^E */
- F_UNASSIGNED, /* M-^F */
- F_UNASSIGNED, /* M-^G */
- F_DELWORDPREV, /* M-^H */
- F_COMPLETE, /* M-^I */
- F_UNASSIGNED, /* M-^J */
- F_UNASSIGNED, /* M-^K */
- F_CLEARDISP, /* M-^L */
- F_UNASSIGNED, /* M-^M */
- F_UNASSIGNED, /* M-^N */
- F_UNASSIGNED, /* M-^O */
- F_UNASSIGNED, /* M-^P */
- F_UNASSIGNED, /* M-^Q */
- F_UNASSIGNED, /* M-^R */
- F_UNASSIGNED, /* M-^S */
- F_UNASSIGNED, /* M-^T */
- F_UNASSIGNED, /* M-^U */
- F_UNASSIGNED, /* M-^V */
- F_UNASSIGNED, /* M-^W */
- F_UNASSIGNED, /* M-^X */
- F_UNASSIGNED, /* M-^Y */
- F_RUN_FG_EDITOR, /* M-^Z */
- F_COMPLETE, /* M-^[ */
- F_UNASSIGNED, /* M-^\ */
- F_UNASSIGNED, /* M-^] */
- F_UNASSIGNED, /* M-^^ */
- F_COPYPREV, /* M-^_ */
- F_EXPAND_HISTORY, /* M-SPACE */
- F_EXPAND_HISTORY, /* M-! */
- F_UNASSIGNED, /* M-" */
- F_UNASSIGNED, /* M-# */
- F_CORRECT_L, /* M-$ */
- F_UNASSIGNED, /* M-% */
- F_UNASSIGNED, /* M-& */
- F_UNASSIGNED, /* M-' */
- F_UNASSIGNED, /* M-( */
- F_UNASSIGNED, /* M-) */
- F_UNASSIGNED, /* M-* */
- F_UNASSIGNED, /* M-+ */
- F_UNASSIGNED, /* M-, */
- F_UNASSIGNED, /* M-- */
- F_UNASSIGNED, /* M-. */
- F_DABBREV_EXPAND, /* M-/ */
- F_ARGDIGIT, /* M-0 */
- F_ARGDIGIT, /* M-1 */
- F_ARGDIGIT, /* M-2 */
- F_ARGDIGIT, /* M-3 */
- F_ARGDIGIT, /* M-4 */
- F_ARGDIGIT, /* M-5 */
- F_ARGDIGIT, /* M-6 */
- F_ARGDIGIT, /* M-7 */
- F_ARGDIGIT, /* M-8 */
- F_ARGDIGIT, /* M-9 */
- F_UNASSIGNED, /* M-: */
- F_UNASSIGNED, /* M-; */
- F_UNASSIGNED, /* M-< */
- F_UNASSIGNED, /* M-= */
- F_UNASSIGNED, /* M-> */
- F_WHICH, /* M-? */
- F_UNASSIGNED, /* M-@ */
- F_NEWLINE_HOLD, /* M-A */
- F_WORDBACK, /* M-B */
- F_CASECAPITAL, /* M-C */
- F_DELWORDNEXT, /* M-D */
- F_UNASSIGNED, /* M-E */
- F_WORDFWD, /* M-F */
- F_UNASSIGNED, /* M-G */
- F_HELPME, /* M-H */
- F_UNASSIGNED, /* M-I */
- F_UNASSIGNED, /* M-J */
- F_UNASSIGNED, /* M-K */
- F_CASELOWER, /* M-L */
- F_UNASSIGNED, /* M-M */
- F_DOWN_SEARCH_HIST, /* M-N */
- F_XKEY, /* M-O *//* extended key esc PWP Mar 88 */
- F_UP_SEARCH_HIST, /* M-P */
- F_UNASSIGNED, /* M-Q */
- F_TOGGLE_HIST, /* M-R */
- F_CORRECT, /* M-S */
- F_UNASSIGNED, /* M-T */
- F_CASEUPPER, /* M-U */
- F_UNASSIGNED, /* M-V */
- F_COPYREGION, /* M-W */
- F_UNASSIGNED, /* M-X */
- F_YANK_POP, /* M-Y */
- F_UNASSIGNED, /* M-Z */
- F_XKEY, /* M-[ *//* extended key esc -mf Oct 87 */
- F_UNASSIGNED, /* M-\ */
- F_UNASSIGNED, /* M-] */
- F_UNASSIGNED, /* M-^ */
- F_LAST_ITEM, /* M-_ */
- F_UNASSIGNED, /* M-` */
- F_NEWLINE_HOLD, /* M-a */
- F_WORDBACK, /* M-b */
- F_CASECAPITAL, /* M-c */
- F_DELWORDNEXT, /* M-d */
- F_UNASSIGNED, /* M-e */
- F_WORDFWD, /* M-f */
- F_UNASSIGNED, /* M-g */
- F_HELPME, /* M-h */
- F_UNASSIGNED, /* M-i */
- F_UNASSIGNED, /* M-j */
- F_UNASSIGNED, /* M-k */
- F_CASELOWER, /* M-l */
- F_UNASSIGNED, /* M-m */
- F_DOWN_SEARCH_HIST, /* M-n */
- F_UNASSIGNED, /* M-o */
- F_UP_SEARCH_HIST, /* M-p */
- F_UNASSIGNED, /* M-q */
- F_TOGGLE_HIST, /* M-r */
- F_CORRECT, /* M-s */
- F_UNASSIGNED, /* M-t */
- F_CASEUPPER, /* M-u */
- F_UNASSIGNED, /* M-v */
- F_COPYREGION, /* M-w */
- F_UNASSIGNED, /* M-x */
- F_YANK_POP, /* M-y */
- F_UNASSIGNED, /* M-z */
- F_UNASSIGNED, /* M-{ */
- F_UNASSIGNED, /* M-| */
- F_UNASSIGNED, /* M-} */
- F_UNASSIGNED, /* M-~ */
- F_DELWORDPREV /* M-^? */
-};
-
-/*
- * keymap table for vi. Each index into above tbl; should be
- * 256 entries long. Vi mode uses a sticky-extend to do command mode:
- * insert mode characters are in the normal keymap, and command mode
- * in the extended keymap.
- */
-static KEYCMD CcViMap[] = {
-#ifdef KSHVI
- F_UNASSIGNED, /* ^@ */
- F_INSERT, /* ^A */
- F_INSERT, /* ^B */
- F_INSERT, /* ^C */
- F_INSERT, /* ^D */
- F_INSERT, /* ^E */
- F_INSERT, /* ^F */
- F_INSERT, /* ^G */
- V_DELPREV, /* ^H */ /* BackSpace key */
- F_COMPLETE, /* ^I */ /* Tab Key */
- F_NEWLINE, /* ^J */
- F_INSERT, /* ^K */
- F_INSERT, /* ^L */
- F_NEWLINE, /* ^M */
- F_INSERT, /* ^N */
- F_INSERT, /* ^O */
- F_INSERT, /* ^P */
- F_TTY_STARTO, /* ^Q */
- F_INSERT, /* ^R */
- F_INSERT, /* ^S */
- F_INSERT, /* ^T */
- F_INSERT, /* ^U */
- F_QUOTE, /* ^V */
- F_DELWORDPREV, /* ^W */ /* Only until start edit pos */
- F_INSERT, /* ^X */
- F_INSERT, /* ^Y */
- F_INSERT, /* ^Z */
- V_CMD_MODE, /* ^[ */ /* [ Esc ] key */
- F_TTY_QUIT, /* ^\ */
- F_INSERT, /* ^] */
- F_INSERT, /* ^^ */
- F_INSERT, /* ^_ */
-#else /* !KSHVI */
- F_UNASSIGNED, /* ^@ */ /* NOTE: These mapping do NOT */
- F_TOBEG, /* ^A */ /* Correspond well to the KSH */
- F_CHARBACK, /* ^B */ /* VI editting assignments */
- F_TTY_INT, /* ^C */ /* On the other hand they are */
- F_LIST_EOF, /* ^D */ /* convenient any many people */
- F_TOEND, /* ^E */ /* have gotten used to them */
- F_CHARFWD, /* ^F */
- F_LIST_GLOB, /* ^G */
- F_DELPREV, /* ^H */ /* BackSpace key */
- F_COMPLETE, /* ^I */ /* Tab Key */
- F_NEWLINE, /* ^J */
- F_KILLEND, /* ^K */
- F_CLEARDISP, /* ^L */
- F_NEWLINE, /* ^M */
- F_DOWN_HIST, /* ^N */
- F_TTY_FLUSHO, /* ^O */
- F_UP_HIST, /* ^P */
- F_TTY_STARTO, /* ^Q */
- F_REDISP, /* ^R */
- F_TTY_STOPO, /* ^S */
- F_CHARSWITCH, /* ^T */
- F_KILLBEG, /* ^U */
- F_QUOTE, /* ^V */
- F_DELWORDPREV, /* ^W */
- F_EXPAND, /* ^X */
- F_TTY_DSUSP, /* ^Y */
- F_TTY_TSUSP, /* ^Z */
- V_CMD_MODE, /* ^[ */
- F_TTY_QUIT, /* ^\ */
- F_UNASSIGNED, /* ^] */
- F_UNASSIGNED, /* ^^ */
- F_UNASSIGNED, /* ^_ */
-#endif /* KSHVI */
- F_INSERT, /* SPACE */
- F_INSERT, /* ! */
- F_INSERT, /* " */
- F_INSERT, /* # */
- F_INSERT, /* $ */
- F_INSERT, /* % */
- F_INSERT, /* & */
- F_INSERT, /* ' */
- F_INSERT, /* ( */
- F_INSERT, /* ) */
- F_INSERT, /* * */
- F_INSERT, /* + */
- F_INSERT, /* , */
- F_INSERT, /* - */
- F_INSERT, /* . */
- F_INSERT, /* / */
- F_INSERT, /* 0 */
- F_INSERT, /* 1 */
- F_INSERT, /* 2 */
- F_INSERT, /* 3 */
- F_INSERT, /* 4 */
- F_INSERT, /* 5 */
- F_INSERT, /* 6 */
- F_INSERT, /* 7 */
- F_INSERT, /* 8 */
- F_INSERT, /* 9 */
- F_INSERT, /* : */
- F_INSERT, /* ; */
- F_INSERT, /* < */
- F_INSERT, /* = */
- F_INSERT, /* > */
- F_INSERT, /* ? */
- F_INSERT, /* @ */
- F_INSERT, /* A */
- F_INSERT, /* B */
- F_INSERT, /* C */
- F_INSERT, /* D */
- F_INSERT, /* E */
- F_INSERT, /* F */
- F_INSERT, /* G */
- F_INSERT, /* H */
- F_INSERT, /* I */
- F_INSERT, /* J */
- F_INSERT, /* K */
- F_INSERT, /* L */
- F_INSERT, /* M */
- F_INSERT, /* N */
- F_INSERT, /* O */
- F_INSERT, /* P */
- F_INSERT, /* Q */
- F_INSERT, /* R */
- F_INSERT, /* S */
- F_INSERT, /* T */
- F_INSERT, /* U */
- F_INSERT, /* V */
- F_INSERT, /* W */
- F_INSERT, /* X */
- F_INSERT, /* Y */
- F_INSERT, /* Z */
- F_INSERT, /* [ */
- F_INSERT, /* \ */
- F_INSERT, /* ] */
- F_INSERT, /* ^ */
- F_INSERT, /* _ */
- F_INSERT, /* ` */
- F_INSERT, /* a */
- F_INSERT, /* b */
- F_INSERT, /* c */
- F_INSERT, /* d */
- F_INSERT, /* e */
- F_INSERT, /* f */
- F_INSERT, /* g */
- F_INSERT, /* h */
- F_INSERT, /* i */
- F_INSERT, /* j */
- F_INSERT, /* k */
- F_INSERT, /* l */
- F_INSERT, /* m */
- F_INSERT, /* n */
- F_INSERT, /* o */
- F_INSERT, /* p */
- F_INSERT, /* q */
- F_INSERT, /* r */
- F_INSERT, /* s */
- F_INSERT, /* t */
- F_INSERT, /* u */
- F_INSERT, /* v */
- F_INSERT, /* w */
- F_INSERT, /* x */
- F_INSERT, /* y */
- F_INSERT, /* z */
- F_INSERT, /* { */
- F_INSERT, /* | */
- F_INSERT, /* } */
- F_INSERT, /* ~ */
- F_DELPREV, /* ^? */
- F_UNASSIGNED, /* M-^@ */
- F_UNASSIGNED, /* M-^A */
- F_UNASSIGNED, /* M-^B */
- F_UNASSIGNED, /* M-^C */
- F_UNASSIGNED, /* M-^D */
- F_UNASSIGNED, /* M-^E */
- F_UNASSIGNED, /* M-^F */
- F_UNASSIGNED, /* M-^G */
- F_UNASSIGNED, /* M-^H */
- F_UNASSIGNED, /* M-^I */
- F_UNASSIGNED, /* M-^J */
- F_UNASSIGNED, /* M-^K */
- F_UNASSIGNED, /* M-^L */
- F_UNASSIGNED, /* M-^M */
- F_UNASSIGNED, /* M-^N */
- F_UNASSIGNED, /* M-^O */
- F_UNASSIGNED, /* M-^P */
- F_UNASSIGNED, /* M-^Q */
- F_UNASSIGNED, /* M-^R */
- F_UNASSIGNED, /* M-^S */
- F_UNASSIGNED, /* M-^T */
- F_UNASSIGNED, /* M-^U */
- F_UNASSIGNED, /* M-^V */
- F_UNASSIGNED, /* M-^W */
- F_UNASSIGNED, /* M-^X */
- F_UNASSIGNED, /* M-^Y */
- F_UNASSIGNED, /* M-^Z */
- F_UNASSIGNED, /* M-^[ */
- F_UNASSIGNED, /* M-^\ */
- F_UNASSIGNED, /* M-^] */
- F_UNASSIGNED, /* M-^^ */
- F_UNASSIGNED, /* M-^_ */
- F_UNASSIGNED, /* M-SPACE */
- F_UNASSIGNED, /* M-! */
- F_UNASSIGNED, /* M-" */
- F_UNASSIGNED, /* M-# */
- F_UNASSIGNED, /* M-$ */
- F_UNASSIGNED, /* M-% */
- F_UNASSIGNED, /* M-& */
- F_UNASSIGNED, /* M-' */
- F_UNASSIGNED, /* M-( */
- F_UNASSIGNED, /* M-) */
- F_UNASSIGNED, /* M-* */
- F_UNASSIGNED, /* M-+ */
- F_UNASSIGNED, /* M-, */
- F_UNASSIGNED, /* M-- */
- F_UNASSIGNED, /* M-. */
- F_UNASSIGNED, /* M-/ */
- F_UNASSIGNED, /* M-0 */
- F_UNASSIGNED, /* M-1 */
- F_UNASSIGNED, /* M-2 */
- F_UNASSIGNED, /* M-3 */
- F_UNASSIGNED, /* M-4 */
- F_UNASSIGNED, /* M-5 */
- F_UNASSIGNED, /* M-6 */
- F_UNASSIGNED, /* M-7 */
- F_UNASSIGNED, /* M-8 */
- F_UNASSIGNED, /* M-9 */
- F_UNASSIGNED, /* M-: */
- F_UNASSIGNED, /* M-; */
- F_UNASSIGNED, /* M-< */
- F_UNASSIGNED, /* M-= */
- F_UNASSIGNED, /* M-> */
- F_UNASSIGNED, /* M-? */
- F_UNASSIGNED, /* M-@ */
- F_UNASSIGNED, /* M-A */
- F_UNASSIGNED, /* M-B */
- F_UNASSIGNED, /* M-C */
- F_UNASSIGNED, /* M-D */
- F_UNASSIGNED, /* M-E */
- F_UNASSIGNED, /* M-F */
- F_UNASSIGNED, /* M-G */
- F_UNASSIGNED, /* M-H */
- F_UNASSIGNED, /* M-I */
- F_UNASSIGNED, /* M-J */
- F_UNASSIGNED, /* M-K */
- F_UNASSIGNED, /* M-L */
- F_UNASSIGNED, /* M-M */
- F_UNASSIGNED, /* M-N */
- F_UNASSIGNED, /* M-O */
- F_UNASSIGNED, /* M-P */
- F_UNASSIGNED, /* M-Q */
- F_UNASSIGNED, /* M-R */
- F_UNASSIGNED, /* M-S */
- F_UNASSIGNED, /* M-T */
- F_UNASSIGNED, /* M-U */
- F_UNASSIGNED, /* M-V */
- F_UNASSIGNED, /* M-W */
- F_UNASSIGNED, /* M-X */
- F_UNASSIGNED, /* M-Y */
- F_UNASSIGNED, /* M-Z */
- F_UNASSIGNED, /* M-[ */
- F_UNASSIGNED, /* M-\ */
- F_UNASSIGNED, /* M-] */
- F_UNASSIGNED, /* M-^ */
- F_UNASSIGNED, /* M-_ */
- F_UNASSIGNED, /* M-` */
- F_UNASSIGNED, /* M-a */
- F_UNASSIGNED, /* M-b */
- F_UNASSIGNED, /* M-c */
- F_UNASSIGNED, /* M-d */
- F_UNASSIGNED, /* M-e */
- F_UNASSIGNED, /* M-f */
- F_UNASSIGNED, /* M-g */
- F_UNASSIGNED, /* M-h */
- F_UNASSIGNED, /* M-i */
- F_UNASSIGNED, /* M-j */
- F_UNASSIGNED, /* M-k */
- F_UNASSIGNED, /* M-l */
- F_UNASSIGNED, /* M-m */
- F_UNASSIGNED, /* M-n */
- F_UNASSIGNED, /* M-o */
- F_UNASSIGNED, /* M-p */
- F_UNASSIGNED, /* M-q */
- F_UNASSIGNED, /* M-r */
- F_UNASSIGNED, /* M-s */
- F_UNASSIGNED, /* M-t */
- F_UNASSIGNED, /* M-u */
- F_UNASSIGNED, /* M-v */
- F_UNASSIGNED, /* M-w */
- F_UNASSIGNED, /* M-x */
- F_UNASSIGNED, /* M-y */
- F_UNASSIGNED, /* M-z */
- F_UNASSIGNED, /* M-{ */
- F_UNASSIGNED, /* M-| */
- F_UNASSIGNED, /* M-} */
- F_UNASSIGNED, /* M-~ */
- F_UNASSIGNED /* M-^? */
-};
-
-KEYCMD CcViCmdMap[] = {
- F_UNASSIGNED, /* ^@ */
- F_TOBEG, /* ^A */
- F_UNASSIGNED, /* ^B */
- F_TTY_INT, /* ^C */
- F_LIST_CHOICES, /* ^D */
- F_TOEND, /* ^E */
- F_UNASSIGNED, /* ^F */
- F_LIST_GLOB, /* ^G */
- F_CHARBACK, /* ^H */
- V_CM_COMPLETE, /* ^I */
- F_NEWLINE, /* ^J */
- F_KILLEND, /* ^K */
- F_CLEARDISP, /* ^L */
- F_NEWLINE, /* ^M */
- F_DOWN_HIST, /* ^N */
- F_TTY_FLUSHO, /* ^O */
- F_UP_HIST, /* ^P */
- F_TTY_STARTO, /* ^Q */
- F_REDISP, /* ^R */
- F_TTY_STOPO, /* ^S */
- F_UNASSIGNED, /* ^T */
- F_KILLBEG, /* ^U */
- F_UNASSIGNED, /* ^V */
- F_DELWORDPREV, /* ^W */
- F_EXPAND, /* ^X */
- F_UNASSIGNED, /* ^Y */
- F_UNASSIGNED, /* ^Z */
- F_METANEXT, /* ^[ */
- F_TTY_QUIT, /* ^\ */
- F_UNASSIGNED, /* ^] */
- F_UNASSIGNED, /* ^^ */
- F_UNASSIGNED, /* ^_ */
- F_CHARFWD, /* SPACE */
- F_EXPAND_HISTORY, /* ! */
- F_UNASSIGNED, /* " */
- F_UNASSIGNED, /* # */
- F_TOEND, /* $ */
- F_UNASSIGNED, /* % */
- F_UNASSIGNED, /* & */
- F_UNASSIGNED, /* ' */
- F_UNASSIGNED, /* ( */
- F_UNASSIGNED, /* ) */
- F_EXPAND_GLOB, /* * */
- F_DOWN_HIST, /* + */
- V_RCHAR_BACK, /* , */
- F_UP_HIST, /* - */
- F_UNASSIGNED, /* . */
- V_DSH_META, /* / */
- V_ZERO, /* 0 */
- F_ARGDIGIT, /* 1 */
- F_ARGDIGIT, /* 2 */
- F_ARGDIGIT, /* 3 */
- F_ARGDIGIT, /* 4 */
- F_ARGDIGIT, /* 5 */
- F_ARGDIGIT, /* 6 */
- F_ARGDIGIT, /* 7 */
- F_ARGDIGIT, /* 8 */
- F_ARGDIGIT, /* 9 */
- F_UNASSIGNED, /* : */
- V_RCHAR_FWD, /* ; */
- F_UNASSIGNED, /* < */
- F_UNASSIGNED, /* = */
- F_UNASSIGNED, /* > */
- V_USH_META, /* ? */
- F_UNASSIGNED, /* @ */
- V_ADDEND, /* A */
- V_WORDBACK, /* B */
- V_CHGTOEND, /* C */
- F_KILLEND, /* D */
- V_ENDWORD, /* E */
- V_CHAR_BACK, /* F */
- F_UNASSIGNED, /* G */
- F_UNASSIGNED, /* H */
- V_INSBEG, /* I */
- F_DOWN_SEARCH_HIST, /* J */
- F_UP_SEARCH_HIST, /* K */
- F_UNASSIGNED, /* L */
- F_UNASSIGNED, /* M */
- V_RSRCH_BACK, /* N */
- F_XKEY, /* O */
- F_UNASSIGNED, /* P */
- F_UNASSIGNED, /* Q */
- V_REPLMODE, /* R */
- V_SUBSTLINE, /* S */
- V_CHARTO_BACK, /* T */
- F_UNASSIGNED, /* U */
- F_EXPAND_VARS, /* V */
- V_WORDFWD, /* W */
- F_DELPREV, /* X */
- F_UNASSIGNED, /* Y */
- F_UNASSIGNED, /* Z */
- F_XKEY, /* [ */
- F_UNASSIGNED, /* \ */
- F_UNASSIGNED, /* ] */
- F_TOBEG, /* ^ */
- F_UNASSIGNED, /* _ */
- F_UNASSIGNED, /* ` */
- V_ADD, /* a */
- F_WORDBACK, /* b */
- V_CHGMETA, /* c */
- V_DELMETA, /* d */
- V_EWORD, /* e */
- V_CHAR_FWD, /* f */
- F_UNASSIGNED, /* g */
- F_CHARBACK, /* h */
- V_INSERT, /* i */
- F_DOWN_HIST, /* j */
- F_UP_HIST, /* k */
- F_CHARFWD, /* l */
- F_UNASSIGNED, /* m */
- V_RSRCH_FWD, /* n */
- F_UNASSIGNED, /* o */
- F_UNASSIGNED, /* p */
- F_UNASSIGNED, /* q */
- V_REPLONE, /* r */
- V_SUBSTCHAR, /* s */
- V_CHARTO_FWD, /* t */
- V_UNDO, /* u */
- F_EXPAND_VARS, /* v */
- V_WORDBEGNEXT, /* w */
- F_DELNEXT_EOF, /* x */
- F_UNASSIGNED, /* y */
- F_UNASSIGNED, /* z */
- F_UNASSIGNED, /* { */
- F_UNASSIGNED, /* | */
- F_UNASSIGNED, /* } */
- V_CHGCASE, /* ~ */
- F_DELPREV, /* ^? */
- F_UNASSIGNED, /* M-^@ */
- F_UNASSIGNED, /* M-^A */
- F_UNASSIGNED, /* M-^B */
- F_UNASSIGNED, /* M-^C */
- F_UNASSIGNED, /* M-^D */
- F_UNASSIGNED, /* M-^E */
- F_UNASSIGNED, /* M-^F */
- F_UNASSIGNED, /* M-^G */
- F_UNASSIGNED, /* M-^H */
- F_UNASSIGNED, /* M-^I */
- F_UNASSIGNED, /* M-^J */
- F_UNASSIGNED, /* M-^K */
- F_UNASSIGNED, /* M-^L */
- F_UNASSIGNED, /* M-^M */
- F_UNASSIGNED, /* M-^N */
- F_UNASSIGNED, /* M-^O */
- F_UNASSIGNED, /* M-^P */
- F_UNASSIGNED, /* M-^Q */
- F_UNASSIGNED, /* M-^R */
- F_UNASSIGNED, /* M-^S */
- F_UNASSIGNED, /* M-^T */
- F_UNASSIGNED, /* M-^U */
- F_UNASSIGNED, /* M-^V */
- F_UNASSIGNED, /* M-^W */
- F_UNASSIGNED, /* M-^X */
- F_UNASSIGNED, /* M-^Y */
- F_UNASSIGNED, /* M-^Z */
- F_UNASSIGNED, /* M-^[ */
- F_UNASSIGNED, /* M-^\ */
- F_UNASSIGNED, /* M-^] */
- F_UNASSIGNED, /* M-^^ */
- F_UNASSIGNED, /* M-^_ */
- F_UNASSIGNED, /* M-SPACE */
- F_UNASSIGNED, /* M-! */
- F_UNASSIGNED, /* M-" */
- F_UNASSIGNED, /* M-# */
- F_UNASSIGNED, /* M-$ */
- F_UNASSIGNED, /* M-% */
- F_UNASSIGNED, /* M-& */
- F_UNASSIGNED, /* M-' */
- F_UNASSIGNED, /* M-( */
- F_UNASSIGNED, /* M-) */
- F_UNASSIGNED, /* M-* */
- F_UNASSIGNED, /* M-+ */
- F_UNASSIGNED, /* M-, */
- F_UNASSIGNED, /* M-- */
- F_UNASSIGNED, /* M-. */
- F_UNASSIGNED, /* M-/ */
- F_UNASSIGNED, /* M-0 */
- F_UNASSIGNED, /* M-1 */
- F_UNASSIGNED, /* M-2 */
- F_UNASSIGNED, /* M-3 */
- F_UNASSIGNED, /* M-4 */
- F_UNASSIGNED, /* M-5 */
- F_UNASSIGNED, /* M-6 */
- F_UNASSIGNED, /* M-7 */
- F_UNASSIGNED, /* M-8 */
- F_UNASSIGNED, /* M-9 */
- F_UNASSIGNED, /* M-: */
- F_UNASSIGNED, /* M-; */
- F_UNASSIGNED, /* M-< */
- F_UNASSIGNED, /* M-= */
- F_UNASSIGNED, /* M-> */
- F_HELPME, /* M-? */
- F_UNASSIGNED, /* M-@ */
- F_UNASSIGNED, /* M-A */
- F_UNASSIGNED, /* M-B */
- F_UNASSIGNED, /* M-C */
- F_UNASSIGNED, /* M-D */
- F_UNASSIGNED, /* M-E */
- F_UNASSIGNED, /* M-F */
- F_UNASSIGNED, /* M-G */
- F_UNASSIGNED, /* M-H */
- F_UNASSIGNED, /* M-I */
- F_UNASSIGNED, /* M-J */
- F_UNASSIGNED, /* M-K */
- F_UNASSIGNED, /* M-L */
- F_UNASSIGNED, /* M-M */
- F_UNASSIGNED, /* M-N */
- F_XKEY, /* M-O *//* extended key esc PWP Mar 88 */
- F_UNASSIGNED, /* M-P */
- F_UNASSIGNED, /* M-Q */
- F_UNASSIGNED, /* M-R */
- F_UNASSIGNED, /* M-S */
- F_UNASSIGNED, /* M-T */
- F_UNASSIGNED, /* M-U */
- F_UNASSIGNED, /* M-V */
- F_UNASSIGNED, /* M-W */
- F_UNASSIGNED, /* M-X */
- F_UNASSIGNED, /* M-Y */
- F_UNASSIGNED, /* M-Z */
- F_XKEY, /* M-[ *//* extended key esc -mf Oct 87 */
- F_UNASSIGNED, /* M-\ */
- F_UNASSIGNED, /* M-] */
- F_UNASSIGNED, /* M-^ */
- F_UNASSIGNED, /* M-_ */
- F_UNASSIGNED, /* M-` */
- F_UNASSIGNED, /* M-a */
- F_UNASSIGNED, /* M-b */
- F_UNASSIGNED, /* M-c */
- F_UNASSIGNED, /* M-d */
- F_UNASSIGNED, /* M-e */
- F_UNASSIGNED, /* M-f */
- F_UNASSIGNED, /* M-g */
- F_UNASSIGNED, /* M-h */
- F_UNASSIGNED, /* M-i */
- F_UNASSIGNED, /* M-j */
- F_UNASSIGNED, /* M-k */
- F_UNASSIGNED, /* M-l */
- F_UNASSIGNED, /* M-m */
- F_UNASSIGNED, /* M-n */
- F_UNASSIGNED, /* M-o */
- F_UNASSIGNED, /* M-p */
- F_UNASSIGNED, /* M-q */
- F_UNASSIGNED, /* M-r */
- F_UNASSIGNED, /* M-s */
- F_UNASSIGNED, /* M-t */
- F_UNASSIGNED, /* M-u */
- F_UNASSIGNED, /* M-v */
- F_UNASSIGNED, /* M-w */
- F_UNASSIGNED, /* M-x */
- F_UNASSIGNED, /* M-y */
- F_UNASSIGNED, /* M-z */
- F_UNASSIGNED, /* M-{ */
- F_UNASSIGNED, /* M-| */
- F_UNASSIGNED, /* M-} */
- F_UNASSIGNED, /* M-~ */
- F_UNASSIGNED /* M-^? */
-};
-#endif /* WINNT_NATIVE */
-
-
-void
-editinit(void)
-{
- struct KeyFuncs *f;
-
-#if defined(NLS_CATALOGS) || defined(WINNT_NATIVE)
- int i;
-
- for (i = 0; i < F_NUM_FUNCNAMES; i++)
- xfree((ptr_t)(intptr_t)FuncNames[i].desc);
-#endif
-
- f = FuncNames;
- f->name = "backward-char";
- f->func = F_CHARBACK;
- f->desc = CSAVS(3, 1, "Move back a character");
-
- f++;
- f->name = "backward-delete-char";
- f->func = F_DELPREV;
- f->desc = CSAVS(3, 2, "Delete the character behind cursor");
-
- f++;
- f->name = "backward-delete-word";
- f->func = F_DELWORDPREV;
- f->desc = CSAVS(3, 3,
- "Cut from beginning of current word to cursor - saved in cut buffer");
-
- f++;
- f->name = "backward-kill-line";
- f->func = F_KILLBEG;
- f->desc = CSAVS(3, 4,
- "Cut from beginning of line to cursor - save in cut buffer");
-
- f++;
- f->name = "backward-word";
- f->func = F_WORDBACK;
- f->desc = CSAVS(3, 5, "Move to beginning of current word");
-
- f++;
- f->name = "beginning-of-line";
- f->func = F_TOBEG;
- f->desc = CSAVS(3, 6, "Move to beginning of line");
-
- f++;
- f->name = "capitalize-word";
- f->func = F_CASECAPITAL;
- f->desc = CSAVS(3, 7,
- "Capitalize the characters from cursor to end of current word");
-
- f++;
- f->name = "change-case";
- f->func = V_CHGCASE;
- f->desc = CSAVS(3, 8,
- "Vi change case of character under cursor and advance one character");
-
- f++;
- f->name = "change-till-end-of-line";
- f->func = V_CHGTOEND; /* backward compat. */
- f->desc = CSAVS(3, 9, "Vi change to end of line");
-
- f++;
- f->name = "clear-screen";
- f->func = F_CLEARDISP;
- f->desc = CSAVS(3, 10, "Clear screen leaving current line on top");
-
- f++;
- f->name = "complete-word";
- f->func = F_COMPLETE;
- f->desc = CSAVS(3, 11, "Complete current word");
-
- f++;
- f->name = "complete-word-fwd";
- f->func = F_COMPLETE_FWD;
- f->desc = CSAVS(3, 12, "Tab forward through files");
-
- f++;
- f->name = "complete-word-back";
- f->func = F_COMPLETE_BACK;
- f->desc = CSAVS(3, 13, "Tab backward through files");
-
- f++;
- f->name = "complete-word-raw";
- f->func = F_COMPLETE_ALL;
- f->desc = CSAVS(3, 14,
- "Complete current word ignoring programmable completions");
-
- f++;
- f->name = "copy-prev-word";
- f->func = F_COPYPREV;
- f->desc = CSAVS(3, 15, "Copy current word to cursor");
-
- f++;
- f->name = "copy-region-as-kill";
- f->func = F_COPYREGION;
- f->desc = CSAVS(3, 16, "Copy area between mark and cursor to cut buffer");
-
- f++;
- f->name = "dabbrev-expand";
- f->func = F_DABBREV_EXPAND;
- f->desc = CSAVS(3, 17,
- "Expand to preceding word for which this is a prefix");
-
- f++;
- f->name = "delete-char";
- f->func = F_DELNEXT;
- f->desc = CSAVS(3, 18, "Delete character under cursor");
-
- f++;
- f->name = "delete-char-or-eof";
- f->func = F_DELNEXT_EOF;
- f->desc = CSAVS(3, 19,
- "Delete character under cursor or signal end of file on an empty line");
-
- f++;
- f->name = "delete-char-or-list";
- f->func = F_DELNEXT_LIST;
- f->desc = CSAVS(3, 20,
- "Delete character under cursor or list completions if at end of line");
-
- f++;
- f->name = "delete-char-or-list-or-eof";
- f->func = F_DELNEXT_LIST_EOF;
- f->desc = CSAVS(3, 21,
- "Delete character under cursor, list completions or signal end of file");
-
- f++;
- f->name = "delete-word";
- f->func = F_DELWORDNEXT;
- f->desc = CSAVS(3, 22,
- "Cut from cursor to end of current word - save in cut buffer");
-
- f++;
- f->name = "digit";
- f->func = F_DIGIT;
- f->desc = CSAVS(3, 23, "Adds to argument if started or enters digit");
-
- f++;
- f->name = "digit-argument";
- f->func = F_ARGDIGIT;
- f->desc = CSAVS(3, 24, "Digit that starts argument");
-
- f++;
- f->name = "down-history";
- f->func = F_DOWN_HIST;
- f->desc = CSAVS(3, 25, "Move to next history line");
-
- f++;
- f->name = "downcase-word";
- f->func = F_CASELOWER;
- f->desc = CSAVS(3, 26,
- "Lowercase the characters from cursor to end of current word");
-
- f++;
- f->name = "end-of-file";
- f->func = F_SEND_EOF;
- f->desc = CSAVS(3, 27, "Indicate end of file");
-
- f++;
- f->name = "end-of-line";
- f->func = F_TOEND;
- f->desc = CSAVS(3, 28, "Move cursor to end of line");
-
- f++;
- f->name = "exchange-point-and-mark";
- f->func = F_EXCHANGE_MARK;
- f->desc = CSAVS(3, 29, "Exchange the cursor and mark");
-
- f++;
- f->name = "expand-glob";
- f->func = F_EXPAND_GLOB;
- f->desc = CSAVS(3, 30, "Expand file name wildcards");
-
- f++;
- f->name = "expand-history";
- f->func = F_EXPAND_HISTORY;
- f->desc = CSAVS(3, 31, "Expand history escapes");
-
- f++;
- f->name = "expand-line";
- f->func = F_EXPAND;
- f->desc = CSAVS(3, 32, "Expand the history escapes in a line");
-
- f++;
- f->name = "expand-variables";
- f->func = F_EXPAND_VARS;
- f->desc = CSAVS(3, 33, "Expand variables");
-
- f++;
- f->name = "forward-char";
- f->func = F_CHARFWD;
- f->desc = CSAVS(3, 34, "Move forward one character");
-
- f++;
- f->name = "forward-word";
- f->func = F_WORDFWD;
- f->desc = CSAVS(3, 35, "Move forward to end of current word");
-
- f++;
- f->name = "gosmacs-transpose-chars";
- f->func = F_GCHARSWITCH;
- f->desc = CSAVS(3, 36, "Exchange the two characters before the cursor");
-
- f++;
- f->name = "history-search-backward";
- f->func = F_UP_SEARCH_HIST;
- f->desc = CSAVS(3, 37,
- "Search in history backward for line beginning as current");
-
- f++;
- f->name = "history-search-forward";
- f->func = F_DOWN_SEARCH_HIST;
- f->desc = CSAVS(3, 38,
- "Search in history forward for line beginning as current");
-
- f++;
- f->name = "insert-last-word";
- f->func = F_LAST_ITEM;
- f->desc = CSAVS(3, 39, "Insert last item of previous command");
-
- f++;
- f->name = "i-search-fwd";
- f->func = F_INC_FWD;
- f->desc = CSAVS(3, 40, "Incremental search forward");
-
- f++;
- f->name = "i-search-back";
- f->func = F_INC_BACK;
- f->desc = CSAVS(3, 41, "Incremental search backward");
-
- f++;
- f->name = "keyboard-quit";
- f->func = F_STARTOVER;
- f->desc = CSAVS(3, 42, "Clear line");
-
- f++;
- f->name = "kill-line";
- f->func = F_KILLEND;
- f->desc = CSAVS(3, 43, "Cut to end of line and save in cut buffer");
-
- f++;
- f->name = "kill-region";
- f->func = F_KILLREGION;
- f->desc = CSAVS(3, 44,
- "Cut area between mark and cursor and save in cut buffer");
-
- f++;
- f->name = "kill-whole-line";
- f->func = F_KILLALL;
- f->desc = CSAVS(3, 45, "Cut the entire line and save in cut buffer");
-
- f++;
- f->name = "list-choices";
- f->func = F_LIST_CHOICES;
- f->desc = CSAVS(3, 46, "List choices for completion");
-
- f++;
- f->name = "list-choices-raw";
- f->func = F_LIST_ALL;
- f->desc = CSAVS(3, 47,
- "List choices for completion overriding programmable completion");
-
- f++;
- f->name = "list-glob";
- f->func = F_LIST_GLOB;
- f->desc = CSAVS(3, 48, "List file name wildcard matches");
-
- f++;
- f->name = "list-or-eof";
- f->func = F_LIST_EOF;
- f->desc = CSAVS(3, 49,
- "List choices for completion or indicate end of file if empty line");
-
- f++;
- f->name = "load-average";
- f->func = F_LOAD_AVERAGE;
- f->desc = CSAVS(3, 50, "Display load average and current process status");
-
- f++;
- f->name = "magic-space";
- f->func = F_MAGIC_SPACE;
- f->desc = CSAVS(3, 51, "Expand history escapes and insert a space");
-
- f++;
- f->name = "newline";
- f->func = F_NEWLINE;
- f->desc = CSAVS(3, 52, "Execute command");
-
- f++;
- f->name = "newline-and-hold";
- f->func = F_NEWLINE_HOLD;
- f->desc = CSAVS(3, 122, "Execute command and keep current line");
-
- f++;
- f->name = "newline-and-down-history";
- f->func = F_NEWLINE_DOWN_HIST;
- f->desc = CSAVS(3, 123, "Execute command and move to next history line");
-
- f++;
- f->name = "normalize-path";
- f->func = F_PATH_NORM;
- f->desc = CSAVS(3, 53,
- "Expand pathnames, eliminating leading .'s and ..'s");
-
- f++;
- f->name = "normalize-command";
- f->func = F_COMMAND_NORM;
- f->desc = CSAVS(3, 54,
- "Expand commands to the resulting pathname or alias");
-
- f++;
- f->name = "overwrite-mode";
- f->func = F_INSOVR;
- f->desc = CSAVS(3, 55,
- "Switch from insert to overwrite mode or vice versa");
-
- f++;
- f->name = "prefix-meta";
- f->func = F_METANEXT;
- f->desc = CSAVS(3, 56, "Add 8th bit to next character typed");
-
- f++;
- f->name = "quoted-insert";
- f->func = F_QUOTE;
- f->desc = CSAVS(3, 57, "Add the next character typed to the line verbatim");
-
- f++;
- f->name = "redisplay";
- f->func = F_REDISP;
- f->desc = CSAVS(3, 58, "Redisplay everything");
-
- f++;
- f->name = "run-fg-editor";
- f->func = F_RUN_FG_EDITOR;
- f->desc = CSAVS(3, 59, "Restart stopped editor");
-
- f++;
- f->name = "run-help";
- f->func = F_HELPME;
- f->desc = CSAVS(3, 60, "Look for help on current command");
-
- f++;
- f->name = "self-insert-command";
- f->func = F_INSERT;
- f->desc = CSAVS(3, 61, "This character is added to the line");
-
- f++;
- f->name = "sequence-lead-in";
- f->func = F_XKEY;
- f->desc = CSAVS(3, 62,
- "This character is the first in a character sequence");
-
- f++;
- f->name = "set-mark-command";
- f->func = F_SET_MARK;
- f->desc = CSAVS(3, 63, "Set the mark at cursor");
-
- f++;
- f->name = "spell-word";
- f->func = F_CORRECT;
- f->desc = CSAVS(3, 64, "Correct the spelling of current word");
-
- f++;
- f->name = "spell-line";
- f->func = F_CORRECT_L;
- f->desc = CSAVS(3, 65, "Correct the spelling of entire line");
-
- f++;
- f->name = "stuff-char";
- f->func = F_STUFF_CHAR;
- f->desc = CSAVS(3, 66, "Send character to tty in cooked mode");
-
- f++;
- f->name = "toggle-literal-history";
- f->func = F_TOGGLE_HIST;
- f->desc = CSAVS(3, 67,
- "Toggle between literal and lexical current history line");
-
- f++;
- f->name = "transpose-chars";
- f->func = F_CHARSWITCH;
- f->desc = CSAVS(3, 68,
- "Exchange the character to the left of the cursor with the one under");
-
- f++;
- f->name = "transpose-gosling";
- f->func = F_GCHARSWITCH;
- f->desc = CSAVS(3, 69, "Exchange the two characters before the cursor");
-
- f++;
- f->name = "tty-dsusp";
- f->func = F_TTY_DSUSP;
- f->desc = CSAVS(3, 70, "Tty delayed suspend character");
-
- f++;
- f->name = "tty-flush-output";
- f->func = F_TTY_FLUSHO;
- f->desc = CSAVS(3, 71, "Tty flush output character");
-
- f++;
- f->name = "tty-sigintr";
- f->func = F_TTY_INT;
- f->desc = CSAVS(3, 72, "Tty interrupt character");
-
- f++;
- f->name = "tty-sigquit";
- f->func = F_TTY_QUIT;
- f->desc = CSAVS(3, 73, "Tty quit character");
-
- f++;
- f->name = "tty-sigtsusp";
- f->func = F_TTY_TSUSP;
- f->desc = CSAVS(3, 74, "Tty suspend character");
-
- f++;
- f->name = "tty-start-output";
- f->func = F_TTY_STARTO;
- f->desc = CSAVS(3, 75, "Tty allow output character");
-
- f++;
- f->name = "tty-stop-output";
- f->func = F_TTY_STOPO;
- f->desc = CSAVS(3, 76, "Tty disallow output character");
-
- f++;
- f->name = "undefined-key";
- f->func = F_UNASSIGNED;
- f->desc = CSAVS(3, 77, "Indicates unbound character");
-
- f++;
- f->name = "universal-argument";
- f->func = F_ARGFOUR;
- f->desc = CSAVS(3, 78, "Emacs universal argument (argument times 4)");
-
- f++;
- f->name = "up-history";
- f->func = F_UP_HIST;
- f->desc = CSAVS(3, 79, "Move to previous history line");
-
- f++;
- f->name = "upcase-word";
- f->func = F_CASEUPPER;
- f->desc = CSAVS(3, 80,
- "Uppercase the characters from cursor to end of current word");
-
- f++;
- f->name = "vi-beginning-of-next-word";
- f->func = V_WORDBEGNEXT;
- f->desc = CSAVS(3, 81, "Vi goto the beginning of next word");
-
- f++;
- f->name = "vi-add";
- f->func = V_ADD;
- f->desc = CSAVS(3, 82, "Vi enter insert mode after the cursor");
-
- f++;
- f->name = "vi-add-at-eol";
- f->func = V_ADDEND;
- f->desc = CSAVS(3, 83, "Vi enter insert mode at end of line");
-
- f++;
- f->name = "vi-chg-case";
- f->func = V_CHGCASE;
- f->desc = CSAVS(3, 84,
- "Vi change case of character under cursor and advance one character");
-
- f++;
- f->name = "vi-chg-meta";
- f->func = V_CHGMETA;
- f->desc = CSAVS(3, 85, "Vi change prefix command");
-
- f++;
- f->name = "vi-chg-to-eol";
- f->func = V_CHGTOEND;
- f->desc = CSAVS(3, 86, "Vi change to end of line");
-
- f++;
- f->name = "vi-cmd-mode";
- f->func = V_CMD_MODE;
- f->desc = CSAVS(3, 87,
- "Enter vi command mode (use alternative key bindings)");
-
- f++;
- f->name = "vi-cmd-mode-complete";
- f->func = V_CM_COMPLETE;
- f->desc = CSAVS(3, 88, "Vi command mode complete current word");
-
- f++;
- f->name = "vi-delprev";
- f->func = V_DELPREV;
- f->desc = CSAVS(3, 89, "Vi move to previous character (backspace)");
-
- f++;
- f->name = "vi-delmeta";
- f->func = V_DELMETA;
- f->desc = CSAVS(3, 90, "Vi delete prefix command");
-
- f++;
- f->name = "vi-endword";
- f->func = V_ENDWORD;
- f->desc = CSAVS(3, 91,
- "Vi move to the end of the current space delimited word");
-
- f++;
- f->name = "vi-eword";
- f->func = V_EWORD;
- f->desc = CSAVS(3, 92, "Vi move to the end of the current word");
-
- f++;
- f->name = "vi-char-back";
- f->func = V_CHAR_BACK;
- f->desc = CSAVS(3, 93, "Vi move to the character specified backward");
-
- f++;
- f->name = "vi-char-fwd";
- f->func = V_CHAR_FWD;
- f->desc = CSAVS(3, 94, "Vi move to the character specified forward");
-
- f++;
- f->name = "vi-charto-back";
- f->func = V_CHARTO_BACK;
- f->desc = CSAVS(3, 95, "Vi move up to the character specified backward");
-
- f++;
- f->name = "vi-charto-fwd";
- f->func = V_CHARTO_FWD;
- f->desc = CSAVS(3, 96, "Vi move up to the character specified forward");
-
- f++;
- f->name = "vi-insert";
- f->func = V_INSERT;
- f->desc = CSAVS(3, 97, "Enter vi insert mode");
-
- f++;
- f->name = "vi-insert-at-bol";
- f->func = V_INSBEG;
- f->desc = CSAVS(3, 98, "Enter vi insert mode at beginning of line");
-
- f++;
- f->name = "vi-repeat-char-fwd";
- f->func = V_RCHAR_FWD;
- f->desc = CSAVS(3, 99,
- "Vi repeat current character search in the same search direction");
-
- f++;
- f->name = "vi-repeat-char-back";
- f->func = V_RCHAR_BACK;
- f->desc = CSAVS(3, 100,
- "Vi repeat current character search in the opposite search direction");
-
- f++;
- f->name = "vi-repeat-search-fwd";
- f->func = V_RSRCH_FWD;
- f->desc = CSAVS(3, 101,
- "Vi repeat current search in the same search direction");
-
- f++;
- f->name = "vi-repeat-search-back";
- f->func = V_RSRCH_BACK;
- f->desc = CSAVS(3, 102,
- "Vi repeat current search in the opposite search direction");
-
- f++;
- f->name = "vi-replace-char";
- f->func = V_REPLONE;
- f->desc = CSAVS(3, 103,
- "Vi replace character under the cursor with the next character typed");
-
- f++;
- f->name = "vi-replace-mode";
- f->func = V_REPLMODE;
- f->desc = CSAVS(3, 104, "Vi replace mode");
-
- f++;
- f->name = "vi-search-back";
- f->func = V_USH_META;
- f->desc = CSAVS(3, 105, "Vi search history backward");
-
- f++;
- f->name = "vi-search-fwd";
- f->func = V_DSH_META;
- f->desc = CSAVS(3, 106, "Vi search history forward");
-
- f++;
- f->name = "vi-substitute-char";
- f->func = V_SUBSTCHAR;
- f->desc = CSAVS(3, 107,
- "Vi replace character under the cursor and enter insert mode");
-
- f++;
- f->name = "vi-substitute-line";
- f->func = V_SUBSTLINE;
- f->desc = CSAVS(3, 108, "Vi replace entire line");
-
- f++;
- f->name = "vi-word-back";
- f->func = V_WORDBACK;
- f->desc = CSAVS(3, 109, "Vi move to the previous word");
-
- f++;
- f->name = "vi-word-fwd";
- f->func = V_WORDFWD;
- f->desc = CSAVS(3, 110, "Vi move to the next word");
-
- f++;
- f->name = "vi-undo";
- f->func = V_UNDO;
- f->desc = CSAVS(3, 111, "Vi undo last change");
-
- f++;
- f->name = "vi-zero";
- f->func = V_ZERO;
- f->desc = CSAVS(3, 112, "Vi goto the beginning of line");
-
- f++;
- f->name = "which-command";
- f->func = F_WHICH;
- f->desc = CSAVS(3, 113, "Perform which of current command");
-
- f++;
- f->name = "yank";
- f->func = F_YANK_KILL;
- f->desc = CSAVS(3, 114, "Paste cut buffer at cursor position");
-
- f++;
- f->name = "yank-pop";
- f->func = F_YANK_POP;
- f->desc = CSAVS(3, 115,
- "Replace just-yanked text with yank from earlier kill");
-
- f++;
- f->name = "e_copy_to_clipboard";
- f->func = F_COPY_CLIP;
- f->desc = CSAVS(3, 116,
- "(WIN32 only) Copy cut buffer to system clipboard");
-
- f++;
- f->name = "e_paste_from_clipboard";
- f->func = F_PASTE_CLIP;
- f->desc = CSAVS(3, 117,
- "(WIN32 only) Paste clipboard buffer at cursor position");
-
- f++;
- f->name = "e_dosify_next";
- f->func = F_DOSIFY_NEXT;
- f->desc = CSAVS(3, 118,
- "(WIN32 only) Convert each '/' in next word to '\\\\'");
-
- f++;
- f->name = "e_dosify_prev";
- f->func = F_DOSIFY_PREV;
- f->desc = CSAVS(3, 119,
- "(WIN32 only) Convert each '/' in previous word to '\\\\'");
-
- f++;
- f->name = "e_page_up";
- f->func = F_PAGE_UP;
- f->desc = CSAVS(3, 120, "(WIN32 only) Page visible console window up");
-
- f++;
- f->name = "e_page_down";
- f->func = F_PAGE_DOWN;
- f->desc = CSAVS(3, 121, "(WIN32 only) Page visible console window down");
-
- f++;
- f->name = NULL;
- f->func = 0;
- f->desc = NULL;
-
- f++;
- if (f - FuncNames != F_NUM_FUNCNAMES)
- abort();
-}
-
-#ifdef DEBUG_EDIT
-void
-CheckMaps(void)
-{ /* check the size of the key maps */
- int c1 = (NT_NUM_KEYS * sizeof(KEYCMD));
-
- if ((sizeof(CcKeyMap)) != c1)
- xprintf("CcKeyMap should be %d entries, but is %d.\r\n",
- NT_NUM_KEYS, sizeof(CcKeyMap) / sizeof(KEYCMD)));
-
- if ((sizeof(CcAltMap)) != c1)
- xprintf("CcAltMap should be %d entries, but is %d.\r\n",
- NT_NUM_KEYS, (sizeof(CcAltMap) / sizeof(KEYCMD)));
-
- if ((sizeof(CcEmacsMap)) != c1)
- xprintf("CcEmacsMap should be %d entries, but is %d.\r\n",
- NT_NUM_KEYS, (sizeof(CcEmacsMap) / sizeof(KEYCMD)));
-
- if ((sizeof(CcViMap)) != c1)
- xprintf("CcViMap should be %d entries, but is %d.\r\n",
- NT_NUM_KEYS, (sizeof(CcViMap) / sizeof(KEYCMD)));
-
- if ((sizeof(CcViCmdMap)) != c1)
- xprintf("CcViCmdMap should be %d entries, but is %d.\r\n",
- NT_NUM_KEYS, (sizeof(CcViCmdMap) / sizeof(KEYCMD)));
-}
-
-#endif
-
-int MapsAreInited = 0;
-int NLSMapsAreInited = 0;
-int NoNLSRebind;
-
-void
-ed_InitNLSMaps(void)
-{
- int i;
-
- if (AsciiOnly)
- return;
- if (NoNLSRebind)
- return;
- for (i = 0200; i <= 0377; i++) {
- if (Isprint(CTL_ESC(i))) {
- CcKeyMap[CTL_ESC(i)] = F_INSERT;
- }
- }
- NLSMapsAreInited = 1;
-}
-
-static void
-ed_InitMetaBindings(void)
-{
- Char buf[3];
- int i;
- CStr cstr;
- KEYCMD *map;
-
- map = CcKeyMap;
- for (i = 0; i <= 0377 && CcKeyMap[CTL_ESC(i)] != F_METANEXT; i++)
- continue;
- if (i > 0377) {
- for (i = 0; i <= 0377 && CcAltMap[CTL_ESC(i)] != F_METANEXT; i++)
- continue;
- if (i > 0377) {
- i = '\033';
- if (VImode)
- map = CcAltMap;
- }
- else {
- map = CcAltMap;
- }
- }
- buf[0] = (Char)CTL_ESC(i);
- buf[2] = 0;
- cstr.buf = buf;
- cstr.len = 2;
- for (i = 0200; i <= 0377; i++) {
- if (map[CTL_ESC(i)] != F_INSERT && map[CTL_ESC(i)] != F_UNASSIGNED && map[CTL_ESC(i)] != F_XKEY) {
- buf[1] = CTL_ESC(i & ASCII);
- AddXkey(&cstr, XmapCmd((int) map[CTL_ESC(i)]), XK_CMD);
- }
- }
- map[buf[0]] = F_XKEY;
-}
-
-void
-ed_InitVIMaps(void)
-{
- int i;
-
- VImode = 1;
- ResetXmap();
- for (i = 0; i < NT_NUM_KEYS; i++) {
- CcKeyMap[i] = CcViMap[i];
- CcAltMap[i] = CcViCmdMap[i];
- }
- ed_InitMetaBindings();
- ed_InitNLSMaps();
- ResetArrowKeys();
- BindArrowKeys();
-}
-
-void
-ed_InitEmacsMaps(void)
-{
- int i;
- Char buf[3];
- CStr cstr;
- cstr.buf = buf;
- cstr.len = 2;
-
- VImode = 0;
- ResetXmap();
- for (i = 0; i < NT_NUM_KEYS; i++) {
- CcKeyMap[i] = CcEmacsMap[i];
- CcAltMap[i] = F_UNASSIGNED;
- }
- ed_InitMetaBindings();
- ed_InitNLSMaps();
- buf[0] = CTL_ESC('\030');
- buf[2] = 0;
- buf[1] = CTL_ESC('\030');
- AddXkey(&cstr, XmapCmd(F_EXCHANGE_MARK), XK_CMD);
- buf[1] = '*';
- AddXkey(&cstr, XmapCmd(F_EXPAND_GLOB), XK_CMD);
- buf[1] = '$';
- AddXkey(&cstr, XmapCmd(F_EXPAND_VARS), XK_CMD);
- buf[1] = 'G';
- AddXkey(&cstr, XmapCmd(F_LIST_GLOB), XK_CMD);
- buf[1] = 'g';
- AddXkey(&cstr, XmapCmd(F_LIST_GLOB), XK_CMD);
- buf[1] = 'n';
- AddXkey(&cstr, XmapCmd(F_PATH_NORM), XK_CMD);
- buf[1] = 'N';
- AddXkey(&cstr, XmapCmd(F_PATH_NORM), XK_CMD);
- buf[1] = '?';
- AddXkey(&cstr, XmapCmd(F_COMMAND_NORM), XK_CMD);
- buf[1] = '\t';
- AddXkey(&cstr, XmapCmd(F_COMPLETE_ALL), XK_CMD);
- buf[1] = CTL_ESC('\004'); /* ^D */
- AddXkey(&cstr, XmapCmd(F_LIST_ALL), XK_CMD);
- ResetArrowKeys();
- BindArrowKeys();
-}
-
-void
-ed_InitMaps(void)
-{
- if (MapsAreInited)
- return;
-#ifndef IS_ASCII
- /* This machine has an EBCDIC charset. The assumptions made for the
- * initialized keymaps therefore don't hold, since they are based on
- * ASCII (or ISO8859-1).
- * Here, we do a one-time transformation to EBCDIC environment
- * for the key initializations.
- */
- {
- KEYCMD temp[NT_NUM_KEYS];
- static KEYCMD *const list[3] = { CcEmacsMap, CcViMap, CcViCmdMap };
- int i, table;
-
- for (table=0; table<3; ++table)
- {
- /* copy ASCII ordered map to temp table */
- for (i = 0; i < NT_NUM_KEYS; i++) {
- temp[i] = list[table][i];
- }
- /* write back as EBCDIC ordered map */
- for (i = 0; i < NT_NUM_KEYS; i++) {
- list[table][_toebcdic[i]] = temp[i];
- }
- }
- }
-#endif /* !IS_ASCII */
-
-#ifdef VIDEFAULT
- ed_InitVIMaps();
-#else
- ed_InitEmacsMaps();
-#endif
-
- MapsAreInited = 1;
-}
OpenPOWER on IntegriCloud