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