1a5f0fb15SPaul Saab /* 2*33096f16SXin LI * Copyright (C) 1984-2011 Mark Nudelman 3a5f0fb15SPaul Saab * 4a5f0fb15SPaul Saab * You may distribute under the terms of either the GNU General Public 5a5f0fb15SPaul Saab * License or the Less License, as specified in the README file. 6a5f0fb15SPaul Saab * 7a5f0fb15SPaul Saab * For more information about less, or for information on how to 8a5f0fb15SPaul Saab * contact the author, see the README file. 9a5f0fb15SPaul Saab */ 10a5f0fb15SPaul Saab 11a5f0fb15SPaul Saab 12a5f0fb15SPaul Saab #define MAX_USERCMD 500 13a5f0fb15SPaul Saab #define MAX_CMDLEN 16 14a5f0fb15SPaul Saab 15a5f0fb15SPaul Saab #define A_B_LINE 2 16a5f0fb15SPaul Saab #define A_B_SCREEN 3 17a5f0fb15SPaul Saab #define A_B_SCROLL 4 18a5f0fb15SPaul Saab #define A_B_SEARCH 5 19a5f0fb15SPaul Saab #define A_DIGIT 6 20a5f0fb15SPaul Saab #define A_DISP_OPTION 7 21a5f0fb15SPaul Saab #define A_DEBUG 8 22a5f0fb15SPaul Saab #define A_EXAMINE 9 23a5f0fb15SPaul Saab #define A_FIRSTCMD 10 24a5f0fb15SPaul Saab #define A_FREPAINT 11 25a5f0fb15SPaul Saab #define A_F_LINE 12 26a5f0fb15SPaul Saab #define A_F_SCREEN 13 27a5f0fb15SPaul Saab #define A_F_SCROLL 14 28a5f0fb15SPaul Saab #define A_F_SEARCH 15 29a5f0fb15SPaul Saab #define A_GOEND 16 30a5f0fb15SPaul Saab #define A_GOLINE 17 31a5f0fb15SPaul Saab #define A_GOMARK 18 32a5f0fb15SPaul Saab #define A_HELP 19 33a5f0fb15SPaul Saab #define A_NEXT_FILE 20 34a5f0fb15SPaul Saab #define A_PERCENT 21 35a5f0fb15SPaul Saab #define A_PREFIX 22 36a5f0fb15SPaul Saab #define A_PREV_FILE 23 37a5f0fb15SPaul Saab #define A_QUIT 24 38a5f0fb15SPaul Saab #define A_REPAINT 25 39a5f0fb15SPaul Saab #define A_SETMARK 26 40a5f0fb15SPaul Saab #define A_SHELL 27 41a5f0fb15SPaul Saab #define A_STAT 28 42a5f0fb15SPaul Saab #define A_FF_LINE 29 43a5f0fb15SPaul Saab #define A_BF_LINE 30 44a5f0fb15SPaul Saab #define A_VERSION 31 45a5f0fb15SPaul Saab #define A_VISUAL 32 46a5f0fb15SPaul Saab #define A_F_WINDOW 33 47a5f0fb15SPaul Saab #define A_B_WINDOW 34 48a5f0fb15SPaul Saab #define A_F_BRACKET 35 49a5f0fb15SPaul Saab #define A_B_BRACKET 36 50a5f0fb15SPaul Saab #define A_PIPE 37 51a5f0fb15SPaul Saab #define A_INDEX_FILE 38 52a5f0fb15SPaul Saab #define A_UNDO_SEARCH 39 53a5f0fb15SPaul Saab #define A_FF_SCREEN 40 54a5f0fb15SPaul Saab #define A_LSHIFT 41 55a5f0fb15SPaul Saab #define A_RSHIFT 42 56a5f0fb15SPaul Saab #define A_AGAIN_SEARCH 43 57a5f0fb15SPaul Saab #define A_T_AGAIN_SEARCH 44 58a5f0fb15SPaul Saab #define A_REVERSE_SEARCH 45 59a5f0fb15SPaul Saab #define A_T_REVERSE_SEARCH 46 60a5f0fb15SPaul Saab #define A_OPT_TOGGLE 47 61a5f0fb15SPaul Saab #define A_OPT_SET 48 62a5f0fb15SPaul Saab #define A_OPT_UNSET 49 63a5f0fb15SPaul Saab #define A_F_FOREVER 50 64a5f0fb15SPaul Saab #define A_GOPOS 51 65a5f0fb15SPaul Saab #define A_REMOVE_FILE 52 66c9346414SPaul Saab #define A_NEXT_TAG 53 67c9346414SPaul Saab #define A_PREV_TAG 54 687374caaaSXin LI #define A_FILTER 55 69a5f0fb15SPaul Saab 70a5f0fb15SPaul Saab #define A_INVALID 100 71a5f0fb15SPaul Saab #define A_NOACTION 101 72a5f0fb15SPaul Saab #define A_UINVALID 102 73a5f0fb15SPaul Saab #define A_END_LIST 103 74a5f0fb15SPaul Saab #define A_SPECIAL_KEY 104 75a5f0fb15SPaul Saab 76a5f0fb15SPaul Saab #define A_SKIP 127 77a5f0fb15SPaul Saab 78a5f0fb15SPaul Saab #define A_EXTRA 0200 79a5f0fb15SPaul Saab 80a5f0fb15SPaul Saab 81a5f0fb15SPaul Saab /* Line editting characters */ 82a5f0fb15SPaul Saab 83a5f0fb15SPaul Saab #define EC_BACKSPACE 1 84a5f0fb15SPaul Saab #define EC_LINEKILL 2 85a5f0fb15SPaul Saab #define EC_RIGHT 3 86a5f0fb15SPaul Saab #define EC_LEFT 4 87a5f0fb15SPaul Saab #define EC_W_LEFT 5 88a5f0fb15SPaul Saab #define EC_W_RIGHT 6 89a5f0fb15SPaul Saab #define EC_INSERT 7 90a5f0fb15SPaul Saab #define EC_DELETE 8 91a5f0fb15SPaul Saab #define EC_HOME 9 92a5f0fb15SPaul Saab #define EC_END 10 93a5f0fb15SPaul Saab #define EC_W_BACKSPACE 11 94a5f0fb15SPaul Saab #define EC_W_DELETE 12 95a5f0fb15SPaul Saab #define EC_UP 13 96a5f0fb15SPaul Saab #define EC_DOWN 14 97a5f0fb15SPaul Saab #define EC_EXPAND 15 98a5f0fb15SPaul Saab #define EC_F_COMPLETE 17 99a5f0fb15SPaul Saab #define EC_B_COMPLETE 18 100a5f0fb15SPaul Saab #define EC_LITERAL 19 101*33096f16SXin LI #define EC_ABORT 20 102a5f0fb15SPaul Saab 103a5f0fb15SPaul Saab #define EC_NOACTION 101 104a5f0fb15SPaul Saab #define EC_UINVALID 102 105a5f0fb15SPaul Saab 106a5f0fb15SPaul Saab /* Flags for editchar() */ 107a5f0fb15SPaul Saab #define EC_PEEK 01 108a5f0fb15SPaul Saab #define EC_NOHISTORY 02 109a5f0fb15SPaul Saab #define EC_NOCOMPLETE 04 110c9346414SPaul Saab #define EC_NORIGHTLEFT 010 111a5f0fb15SPaul Saab 112a5f0fb15SPaul Saab /* Environment variable stuff */ 113a5f0fb15SPaul Saab #define EV_OK 01 114a5f0fb15SPaul Saab 115a5f0fb15SPaul Saab /* Special keys (keys which output different strings on different terminals) */ 116a5f0fb15SPaul Saab #define SK_SPECIAL_KEY CONTROL('K') 117a5f0fb15SPaul Saab #define SK_RIGHT_ARROW 1 118a5f0fb15SPaul Saab #define SK_LEFT_ARROW 2 119a5f0fb15SPaul Saab #define SK_UP_ARROW 3 120a5f0fb15SPaul Saab #define SK_DOWN_ARROW 4 121a5f0fb15SPaul Saab #define SK_PAGE_UP 5 122a5f0fb15SPaul Saab #define SK_PAGE_DOWN 6 123a5f0fb15SPaul Saab #define SK_HOME 7 124a5f0fb15SPaul Saab #define SK_END 8 125a5f0fb15SPaul Saab #define SK_DELETE 9 126a5f0fb15SPaul Saab #define SK_INSERT 10 127a5f0fb15SPaul Saab #define SK_CTL_LEFT_ARROW 11 128a5f0fb15SPaul Saab #define SK_CTL_RIGHT_ARROW 12 129a5f0fb15SPaul Saab #define SK_CTL_DELETE 13 130a5f0fb15SPaul Saab #define SK_F1 14 131a5f0fb15SPaul Saab #define SK_BACKTAB 15 132a5f0fb15SPaul Saab #define SK_CTL_BACKSPACE 16 133a5f0fb15SPaul Saab #define SK_CONTROL_K 40 134