xref: /netbsd-src/external/bsd/less/dist/cmd.h (revision 838f5788460f0f133b15d706e644d692a9d4d6ec)
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