1 /* $NetBSD: cmd.h,v 1.4 2023/10/06 05:49:49 simonb Exp $ */ 2 3 /* 4 * Copyright (C) 1984-2023 Mark Nudelman 5 * 6 * You may distribute under the terms of either the GNU General Public 7 * License or the Less License, as specified in the README file. 8 * 9 * For more information, see the README file. 10 */ 11 12 13 #define MAX_USERCMD 1000 14 #define MAX_CMDLEN 16 15 16 #define A_B_LINE 2 17 #define A_B_SCREEN 3 18 #define A_B_SCROLL 4 19 #define A_B_SEARCH 5 20 #define A_DIGIT 6 21 #define A_DISP_OPTION 7 22 #define A_DEBUG 8 23 #define A_EXAMINE 9 24 #define A_FIRSTCMD 10 25 #define A_FREPAINT 11 26 #define A_F_LINE 12 27 #define A_F_SCREEN 13 28 #define A_F_SCROLL 14 29 #define A_F_SEARCH 15 30 #define A_GOEND 16 31 #define A_GOLINE 17 32 #define A_GOMARK 18 33 #define A_HELP 19 34 #define A_NEXT_FILE 20 35 #define A_PERCENT 21 36 #define A_PREV_FILE 23 37 #define A_QUIT 24 38 #define A_REPAINT 25 39 #define A_SETMARK 26 40 #define A_SHELL 27 41 #define A_STAT 28 42 #define A_FF_LINE 29 43 #define A_BF_LINE 30 44 #define A_VERSION 31 45 #define A_VISUAL 32 46 #define A_F_WINDOW 33 47 #define A_B_WINDOW 34 48 #define A_F_BRACKET 35 49 #define A_B_BRACKET 36 50 #define A_PIPE 37 51 #define A_INDEX_FILE 38 52 #define A_UNDO_SEARCH 39 53 #define A_FF_SCREEN 40 54 #define A_LSHIFT 41 55 #define A_RSHIFT 42 56 #define A_AGAIN_SEARCH 43 57 #define A_T_AGAIN_SEARCH 44 58 #define A_REVERSE_SEARCH 45 59 #define A_T_REVERSE_SEARCH 46 60 #define A_OPT_TOGGLE 47 61 #define A_OPT_SET 48 62 #define A_OPT_UNSET 49 63 #define A_F_FOREVER 50 64 #define A_GOPOS 51 65 #define A_REMOVE_FILE 52 66 #define A_NEXT_TAG 53 67 #define A_PREV_TAG 54 68 #define A_FILTER 55 69 #define A_F_UNTIL_HILITE 56 70 #define A_GOEND_BUF 57 71 #define A_LLSHIFT 58 72 #define A_RRSHIFT 59 73 #define A_CLRMARK 62 74 #define A_SETMARKBOT 63 75 #define A_X11MOUSE_IN 64 76 #define A_F_MOUSE 66 77 #define A_B_MOUSE 67 78 /* Note "X116" refers to extended (1006) X11 mouse reporting. */ 79 #define A_X116MOUSE_IN 68 80 #define A_PSHELL 69 81 #define A_CLR_SEARCH 70 82 83 /* These values must not conflict with any A_* or EC_* value. */ 84 #define A_INVALID 100 85 #define A_NOACTION 101 86 #define A_UINVALID 102 87 #define A_END_LIST 103 88 #define A_SPECIAL_KEY 104 89 #define A_PREFIX 105 90 #define A_SKIP 127 91 92 #define A_EXTRA 0200 93 94 95 /* Line editing characters */ 96 97 #define EC_BACKSPACE 1 98 #define EC_LINEKILL 2 99 #define EC_RIGHT 3 100 #define EC_LEFT 4 101 #define EC_W_LEFT 5 102 #define EC_W_RIGHT 6 103 #define EC_INSERT 7 104 #define EC_DELETE 8 105 #define EC_HOME 9 106 #define EC_END 10 107 #define EC_W_BACKSPACE 11 108 #define EC_W_DELETE 12 109 #define EC_UP 13 110 #define EC_DOWN 14 111 #define EC_EXPAND 15 112 #define EC_F_COMPLETE 17 113 #define EC_B_COMPLETE 18 114 #define EC_LITERAL 19 115 #define EC_ABORT 20 116 #define EC_X11MOUSE 21 117 #define EC_X116MOUSE 22 118 119 #define EC_UINVALID 102 120 121 /* Flags for editchar() */ 122 #define ECF_PEEK 01 123 #define ECF_NOHISTORY 02 124 #define ECF_NOCOMPLETE 04 125 #define ECF_NORIGHTLEFT 010 126 127 /* Environment variable stuff */ 128 #define EV_OK 01 129 130 /* Special keys (keys which output different strings on different terminals) */ 131 #define SK_SPECIAL_KEY CONTROL('K') 132 #define SK_RIGHT_ARROW 1 133 #define SK_LEFT_ARROW 2 134 #define SK_UP_ARROW 3 135 #define SK_DOWN_ARROW 4 136 #define SK_PAGE_UP 5 137 #define SK_PAGE_DOWN 6 138 #define SK_HOME 7 139 #define SK_END 8 140 #define SK_DELETE 9 141 #define SK_INSERT 10 142 #define SK_CTL_LEFT_ARROW 11 143 #define SK_CTL_RIGHT_ARROW 12 144 #define SK_CTL_DELETE 13 145 #define SK_F1 14 146 #define SK_BACKTAB 15 147 #define SK_CTL_BACKSPACE 16 148 #define SK_BACKSPACE 17 149 #define SK_CONTROL_K 40 150