xref: /freebsd/contrib/less/cmd.h (revision 4b330699f819a81d8e34d471225143ffeb321855)
1 /*
2  * Copyright (C) 1984-2017  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
137