1238730Sdelphij/*
2330571Sdelphij * Copyright (C) 1984-2017  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
11330571Sdelphij#define MAX_USERCMD            1000
12330571Sdelphij#define MAX_CMDLEN             16
1360786Sps
14330571Sdelphij#define A_B_LINE               2
15330571Sdelphij#define A_B_SCREEN             3
16330571Sdelphij#define A_B_SCROLL             4
17330571Sdelphij#define A_B_SEARCH             5
18330571Sdelphij#define A_DIGIT                6
19330571Sdelphij#define A_DISP_OPTION          7
20330571Sdelphij#define A_DEBUG                8
21330571Sdelphij#define A_EXAMINE              9
22330571Sdelphij#define A_FIRSTCMD             10
23330571Sdelphij#define A_FREPAINT             11
24330571Sdelphij#define A_F_LINE               12
25330571Sdelphij#define A_F_SCREEN             13
26330571Sdelphij#define A_F_SCROLL             14
27330571Sdelphij#define A_F_SEARCH             15
28330571Sdelphij#define A_GOEND                16
29330571Sdelphij#define A_GOLINE               17
30330571Sdelphij#define A_GOMARK               18
31330571Sdelphij#define A_HELP                 19
32330571Sdelphij#define A_NEXT_FILE            20
33330571Sdelphij#define A_PERCENT              21
34330571Sdelphij#define A_PREFIX               22
35330571Sdelphij#define A_PREV_FILE            23
36330571Sdelphij#define A_QUIT                 24
37330571Sdelphij#define A_REPAINT              25
38330571Sdelphij#define A_SETMARK              26
39330571Sdelphij#define A_SHELL                27
40330571Sdelphij#define A_STAT                 28
41330571Sdelphij#define A_FF_LINE              29
42330571Sdelphij#define A_BF_LINE              30
43330571Sdelphij#define A_VERSION              31
44330571Sdelphij#define A_VISUAL               32
45330571Sdelphij#define A_F_WINDOW             33
46330571Sdelphij#define A_B_WINDOW             34
47330571Sdelphij#define A_F_BRACKET            35
48330571Sdelphij#define A_B_BRACKET            36
49330571Sdelphij#define A_PIPE                 37
50330571Sdelphij#define A_INDEX_FILE           38
51330571Sdelphij#define A_UNDO_SEARCH          39
52330571Sdelphij#define A_FF_SCREEN            40
53330571Sdelphij#define A_LSHIFT               41
54330571Sdelphij#define A_RSHIFT               42
55330571Sdelphij#define A_AGAIN_SEARCH         43
56330571Sdelphij#define A_T_AGAIN_SEARCH       44
57330571Sdelphij#define A_REVERSE_SEARCH       45
58330571Sdelphij#define A_T_REVERSE_SEARCH     46
59330571Sdelphij#define A_OPT_TOGGLE           47
60330571Sdelphij#define A_OPT_SET              48
61330571Sdelphij#define A_OPT_UNSET            49
62330571Sdelphij#define A_F_FOREVER            50
63330571Sdelphij#define A_GOPOS                51
64330571Sdelphij#define A_REMOVE_FILE          52
65330571Sdelphij#define A_NEXT_TAG             53
66330571Sdelphij#define A_PREV_TAG             54
67330571Sdelphij#define A_FILTER               55
68330571Sdelphij#define A_F_UNTIL_HILITE       56
69330571Sdelphij#define A_GOEND_BUF            57
70330571Sdelphij#define A_LLSHIFT              58
71330571Sdelphij#define A_RRSHIFT              59
72330571Sdelphij#define A_CLRMARK              62
73330571Sdelphij#define A_SETMARKBOT           63
7460786Sps
75330571Sdelphij#define A_INVALID              100
76330571Sdelphij#define A_NOACTION             101
77330571Sdelphij#define A_UINVALID             102
78330571Sdelphij#define A_END_LIST             103
79330571Sdelphij#define A_SPECIAL_KEY          104
8060786Sps
81330571Sdelphij#define A_SKIP                 127
8260786Sps
83330571Sdelphij#define A_EXTRA                0200
8460786Sps
8560786Sps
86237613Sdelphij/* Line editing characters */
8760786Sps
88330571Sdelphij#define EC_BACKSPACE           1
89330571Sdelphij#define EC_LINEKILL            2
90330571Sdelphij#define EC_RIGHT               3
91330571Sdelphij#define EC_LEFT                4
92330571Sdelphij#define EC_W_LEFT              5
93330571Sdelphij#define EC_W_RIGHT             6
94330571Sdelphij#define EC_INSERT              7
95330571Sdelphij#define EC_DELETE              8
96330571Sdelphij#define EC_HOME                9
97330571Sdelphij#define EC_END                 10
98330571Sdelphij#define EC_W_BACKSPACE         11
99330571Sdelphij#define EC_W_DELETE            12
100330571Sdelphij#define EC_UP                  13
101330571Sdelphij#define EC_DOWN                14
102330571Sdelphij#define EC_EXPAND              15
103330571Sdelphij#define EC_F_COMPLETE          17
104330571Sdelphij#define EC_B_COMPLETE          18
105330571Sdelphij#define EC_LITERAL             19
106330571Sdelphij#define EC_ABORT               20
10760786Sps
108330571Sdelphij#define EC_NOACTION            101
109330571Sdelphij#define EC_UINVALID            102
11060786Sps
11160786Sps/* Flags for editchar() */
112330571Sdelphij#define EC_PEEK                01
113330571Sdelphij#define EC_NOHISTORY           02
114330571Sdelphij#define EC_NOCOMPLETE          04
115330571Sdelphij#define EC_NORIGHTLEFT         010
11660786Sps
11760786Sps/* Environment variable stuff */
118330571Sdelphij#define EV_OK                  01
11960786Sps
12060786Sps/* Special keys (keys which output different strings on different terminals) */
121330571Sdelphij#define SK_SPECIAL_KEY         CONTROL('K')
122330571Sdelphij#define SK_RIGHT_ARROW         1
123330571Sdelphij#define SK_LEFT_ARROW          2
124330571Sdelphij#define SK_UP_ARROW            3
125330571Sdelphij#define SK_DOWN_ARROW          4
126330571Sdelphij#define SK_PAGE_UP             5
127330571Sdelphij#define SK_PAGE_DOWN           6
128330571Sdelphij#define SK_HOME                7
129330571Sdelphij#define SK_END                 8
130330571Sdelphij#define SK_DELETE              9
131330571Sdelphij#define SK_INSERT              10
132330571Sdelphij#define SK_CTL_LEFT_ARROW      11
133330571Sdelphij#define SK_CTL_RIGHT_ARROW     12
134330571Sdelphij#define SK_CTL_DELETE          13
135330571Sdelphij#define SK_F1                  14
136330571Sdelphij#define SK_BACKTAB             15
137330571Sdelphij#define SK_CTL_BACKSPACE       16
138330571Sdelphij#define SK_CONTROL_K           40
139