1238730Sdelphij/*
2369759Sgit2svn * Copyright (C) 1984-2021  Mark Nudelman
3238730Sdelphij *
4238730Sdelphij * You may distribute under the terms of either the GNU General Public
5238730Sdelphij * License or the Less License, as specified in the README file.
6238730Sdelphij *
7238730Sdelphij * For more information, see the README file.
8238730Sdelphij */
960786Sps
1060786Sps
11330570Sdelphij#define MAX_USERCMD            1000
12330570Sdelphij#define MAX_CMDLEN             16
1360786Sps
14330570Sdelphij#define A_B_LINE               2
15330570Sdelphij#define A_B_SCREEN             3
16330570Sdelphij#define A_B_SCROLL             4
17330570Sdelphij#define A_B_SEARCH             5
18330570Sdelphij#define A_DIGIT                6
19330570Sdelphij#define A_DISP_OPTION          7
20330570Sdelphij#define A_DEBUG                8
21330570Sdelphij#define A_EXAMINE              9
22330570Sdelphij#define A_FIRSTCMD             10
23330570Sdelphij#define A_FREPAINT             11
24330570Sdelphij#define A_F_LINE               12
25330570Sdelphij#define A_F_SCREEN             13
26330570Sdelphij#define A_F_SCROLL             14
27330570Sdelphij#define A_F_SEARCH             15
28330570Sdelphij#define A_GOEND                16
29330570Sdelphij#define A_GOLINE               17
30330570Sdelphij#define A_GOMARK               18
31330570Sdelphij#define A_HELP                 19
32330570Sdelphij#define A_NEXT_FILE            20
33330570Sdelphij#define A_PERCENT              21
34330570Sdelphij#define A_PREV_FILE            23
35330570Sdelphij#define A_QUIT                 24
36330570Sdelphij#define A_REPAINT              25
37330570Sdelphij#define A_SETMARK              26
38330570Sdelphij#define A_SHELL                27
39330570Sdelphij#define A_STAT                 28
40330570Sdelphij#define A_FF_LINE              29
41330570Sdelphij#define A_BF_LINE              30
42330570Sdelphij#define A_VERSION              31
43330570Sdelphij#define A_VISUAL               32
44330570Sdelphij#define A_F_WINDOW             33
45330570Sdelphij#define A_B_WINDOW             34
46330570Sdelphij#define A_F_BRACKET            35
47330570Sdelphij#define A_B_BRACKET            36
48330570Sdelphij#define A_PIPE                 37
49330570Sdelphij#define A_INDEX_FILE           38
50330570Sdelphij#define A_UNDO_SEARCH          39
51330570Sdelphij#define A_FF_SCREEN            40
52330570Sdelphij#define A_LSHIFT               41
53330570Sdelphij#define A_RSHIFT               42
54330570Sdelphij#define A_AGAIN_SEARCH         43
55330570Sdelphij#define A_T_AGAIN_SEARCH       44
56330570Sdelphij#define A_REVERSE_SEARCH       45
57330570Sdelphij#define A_T_REVERSE_SEARCH     46
58330570Sdelphij#define A_OPT_TOGGLE           47
59330570Sdelphij#define A_OPT_SET              48
60330570Sdelphij#define A_OPT_UNSET            49
61330570Sdelphij#define A_F_FOREVER            50
62330570Sdelphij#define A_GOPOS                51
63330570Sdelphij#define A_REMOVE_FILE          52
64330570Sdelphij#define A_NEXT_TAG             53
65330570Sdelphij#define A_PREV_TAG             54
66330570Sdelphij#define A_FILTER               55
67330570Sdelphij#define A_F_UNTIL_HILITE       56
68330570Sdelphij#define A_GOEND_BUF            57
69330570Sdelphij#define A_LLSHIFT              58
70330570Sdelphij#define A_RRSHIFT              59
71330570Sdelphij#define A_CLRMARK              62
72330570Sdelphij#define A_SETMARKBOT           63
73355504Sdelphij#define A_X11MOUSE_IN          64
74355504Sdelphij#define A_F_MOUSE              66
75355504Sdelphij#define A_B_MOUSE              67
76355504Sdelphij/* Note "X116" refers to extended (1006) X11 mouse reporting. */
77355504Sdelphij#define A_X116MOUSE_IN         68
78369759Sgit2svn#define A_CLR_SEARCH           70
7960786Sps
80369759Sgit2svn/* These values must not conflict with any A_* or EC_* value. */
81330570Sdelphij#define A_INVALID              100
82330570Sdelphij#define A_NOACTION             101
83330570Sdelphij#define A_UINVALID             102
84330570Sdelphij#define A_END_LIST             103
85330570Sdelphij#define A_SPECIAL_KEY          104
86369759Sgit2svn#define A_PREFIX               105
87330570Sdelphij#define A_SKIP                 127
8860786Sps
89330570Sdelphij#define A_EXTRA                0200
9060786Sps
9160786Sps
92237613Sdelphij/* Line editing characters */
9360786Sps
94330570Sdelphij#define EC_BACKSPACE           1
95330570Sdelphij#define EC_LINEKILL            2
96330570Sdelphij#define EC_RIGHT               3
97330570Sdelphij#define EC_LEFT                4
98330570Sdelphij#define EC_W_LEFT              5
99330570Sdelphij#define EC_W_RIGHT             6
100330570Sdelphij#define EC_INSERT              7
101330570Sdelphij#define EC_DELETE              8
102330570Sdelphij#define EC_HOME                9
103330570Sdelphij#define EC_END                 10
104330570Sdelphij#define EC_W_BACKSPACE         11
105330570Sdelphij#define EC_W_DELETE            12
106330570Sdelphij#define EC_UP                  13
107330570Sdelphij#define EC_DOWN                14
108330570Sdelphij#define EC_EXPAND              15
109330570Sdelphij#define EC_F_COMPLETE          17
110330570Sdelphij#define EC_B_COMPLETE          18
111330570Sdelphij#define EC_LITERAL             19
112330570Sdelphij#define EC_ABORT               20
113369759Sgit2svn#define EC_X11MOUSE            21
114369759Sgit2svn#define EC_X116MOUSE           22
11560786Sps
116330570Sdelphij#define EC_UINVALID            102
11760786Sps
11860786Sps/* Flags for editchar() */
119369759Sgit2svn#define ECF_PEEK                01
120369759Sgit2svn#define ECF_NOHISTORY           02
121369759Sgit2svn#define ECF_NOCOMPLETE          04
122369759Sgit2svn#define ECF_NORIGHTLEFT         010
12360786Sps
12460786Sps/* Environment variable stuff */
125330570Sdelphij#define EV_OK                  01
12660786Sps
12760786Sps/* Special keys (keys which output different strings on different terminals) */
128330570Sdelphij#define SK_SPECIAL_KEY         CONTROL('K')
129330570Sdelphij#define SK_RIGHT_ARROW         1
130330570Sdelphij#define SK_LEFT_ARROW          2
131330570Sdelphij#define SK_UP_ARROW            3
132330570Sdelphij#define SK_DOWN_ARROW          4
133330570Sdelphij#define SK_PAGE_UP             5
134330570Sdelphij#define SK_PAGE_DOWN           6
135330570Sdelphij#define SK_HOME                7
136330570Sdelphij#define SK_END                 8
137330570Sdelphij#define SK_DELETE              9
138330570Sdelphij#define SK_INSERT              10
139330570Sdelphij#define SK_CTL_LEFT_ARROW      11
140330570Sdelphij#define SK_CTL_RIGHT_ARROW     12
141330570Sdelphij#define SK_CTL_DELETE          13
142330570Sdelphij#define SK_F1                  14
143330570Sdelphij#define SK_BACKTAB             15
144330570Sdelphij#define SK_CTL_BACKSPACE       16
145330570Sdelphij#define SK_CONTROL_K           40
146