Annotation of src/usr.bin/less/cmd.h, Revision 1.5
1.1 etheisen 1: /*
1.5 ! shadchin 2: * Copyright (C) 1984-2011 Mark Nudelman
1.1 etheisen 3: *
1.3 millert 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.
1.1 etheisen 6: *
1.3 millert 7: * For more information about less, or for information on how to
8: * contact the author, see the README file.
1.1 etheisen 9: */
10:
11:
12: #define MAX_USERCMD 500
13: #define MAX_CMDLEN 16
14:
15: #define A_B_LINE 2
16: #define A_B_SCREEN 3
17: #define A_B_SCROLL 4
18: #define A_B_SEARCH 5
19: #define A_DIGIT 6
20: #define A_DISP_OPTION 7
21: #define A_DEBUG 8
22: #define A_EXAMINE 9
23: #define A_FIRSTCMD 10
24: #define A_FREPAINT 11
25: #define A_F_LINE 12
26: #define A_F_SCREEN 13
27: #define A_F_SCROLL 14
28: #define A_F_SEARCH 15
29: #define A_GOEND 16
30: #define A_GOLINE 17
31: #define A_GOMARK 18
32: #define A_HELP 19
33: #define A_NEXT_FILE 20
34: #define A_PERCENT 21
35: #define A_PREFIX 22
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
1.3 millert 53: #define A_FF_SCREEN 40
54: #define A_LSHIFT 41
55: #define A_RSHIFT 42
1.1 etheisen 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
1.3 millert 65: #define A_REMOVE_FILE 52
66: #define A_NEXT_TAG 53
67: #define A_PREV_TAG 54
1.5 ! shadchin 68: #define A_FILTER 55
1.1 etheisen 69:
70: #define A_INVALID 100
71: #define A_NOACTION 101
72: #define A_UINVALID 102
73: #define A_END_LIST 103
1.3 millert 74: #define A_SPECIAL_KEY 104
75:
76: #define A_SKIP 127
1.1 etheisen 77:
78: #define A_EXTRA 0200
79:
80:
1.4 jmc 81: /* Line editing characters */
1.1 etheisen 82:
83: #define EC_BACKSPACE 1
84: #define EC_LINEKILL 2
85: #define EC_RIGHT 3
86: #define EC_LEFT 4
87: #define EC_W_LEFT 5
88: #define EC_W_RIGHT 6
89: #define EC_INSERT 7
90: #define EC_DELETE 8
91: #define EC_HOME 9
92: #define EC_END 10
93: #define EC_W_BACKSPACE 11
94: #define EC_W_DELETE 12
95: #define EC_UP 13
96: #define EC_DOWN 14
97: #define EC_EXPAND 15
98: #define EC_F_COMPLETE 17
99: #define EC_B_COMPLETE 18
100: #define EC_LITERAL 19
1.5 ! shadchin 101: #define EC_ABORT 20
1.1 etheisen 102:
1.3 millert 103: #define EC_NOACTION 101
1.1 etheisen 104: #define EC_UINVALID 102
105:
106: /* Flags for editchar() */
107: #define EC_PEEK 01
108: #define EC_NOHISTORY 02
109: #define EC_NOCOMPLETE 04
1.3 millert 110: #define EC_NORIGHTLEFT 010
111:
112: /* Environment variable stuff */
113: #define EV_OK 01
1.1 etheisen 114:
1.3 millert 115: /* Special keys (keys which output different strings on different terminals) */
116: #define SK_SPECIAL_KEY CONTROL('K')
117: #define SK_RIGHT_ARROW 1
118: #define SK_LEFT_ARROW 2
119: #define SK_UP_ARROW 3
120: #define SK_DOWN_ARROW 4
121: #define SK_PAGE_UP 5
122: #define SK_PAGE_DOWN 6
123: #define SK_HOME 7
124: #define SK_END 8
125: #define SK_DELETE 9
126: #define SK_INSERT 10
127: #define SK_CTL_LEFT_ARROW 11
128: #define SK_CTL_RIGHT_ARROW 12
129: #define SK_CTL_DELETE 13
130: #define SK_F1 14
131: #define SK_BACKTAB 15
132: #define SK_CTL_BACKSPACE 16
133: #define SK_CONTROL_K 40