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