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