cmd.h revision 195941
1204076Spjd/*
2204076Spjd * Copyright (C) 1984-2009  Mark Nudelman
3211877Spjd *
4204076Spjd * You may distribute under the terms of either the GNU General Public
5204076Spjd * License or the Less License, as specified in the README file.
6204076Spjd *
7204076Spjd * For more information about less, or for information on how to
8204076Spjd * contact the author, see the README file.
9204076Spjd */
10204076Spjd
11204076Spjd
12204076Spjd#define	MAX_USERCMD		500
13204076Spjd#define	MAX_CMDLEN		16
14204076Spjd
15204076Spjd#define	A_B_LINE		2
16204076Spjd#define	A_B_SCREEN		3
17204076Spjd#define	A_B_SCROLL		4
18204076Spjd#define	A_B_SEARCH		5
19204076Spjd#define	A_DIGIT			6
20204076Spjd#define	A_DISP_OPTION		7
21204076Spjd#define	A_DEBUG			8
22204076Spjd#define	A_EXAMINE		9
23204076Spjd#define	A_FIRSTCMD		10
24204076Spjd#define	A_FREPAINT		11
25204076Spjd#define	A_F_LINE		12
26204076Spjd#define	A_F_SCREEN		13
27204076Spjd#define	A_F_SCROLL		14
28204076Spjd#define	A_F_SEARCH		15
29204076Spjd#define	A_GOEND			16
30204076Spjd#define	A_GOLINE		17
31204076Spjd#define	A_GOMARK		18
32204076Spjd#define	A_HELP			19
33204076Spjd#define	A_NEXT_FILE		20
34204076Spjd#define	A_PERCENT		21
35204076Spjd#define	A_PREFIX		22
36204076Spjd#define	A_PREV_FILE		23
37204076Spjd#define	A_QUIT			24
38204076Spjd#define	A_REPAINT		25
39204076Spjd#define	A_SETMARK		26
40204076Spjd#define	A_SHELL			27
41204076Spjd#define	A_STAT			28
42204076Spjd#define	A_FF_LINE		29
43204076Spjd#define	A_BF_LINE		30
44204076Spjd#define	A_VERSION		31
45204076Spjd#define	A_VISUAL		32
46204076Spjd#define	A_F_WINDOW		33
47204076Spjd#define	A_B_WINDOW		34
48204076Spjd#define	A_F_BRACKET		35
49204076Spjd#define	A_B_BRACKET		36
50204076Spjd#define	A_PIPE			37
51204076Spjd#define	A_INDEX_FILE		38
52204076Spjd#define	A_UNDO_SEARCH		39
53204076Spjd#define	A_FF_SCREEN		40
54204076Spjd#define	A_LSHIFT		41
55204076Spjd#define	A_RSHIFT		42
56204076Spjd#define	A_AGAIN_SEARCH		43
57204076Spjd#define	A_T_AGAIN_SEARCH	44
58204076Spjd#define	A_REVERSE_SEARCH	45
59204076Spjd#define	A_T_REVERSE_SEARCH	46
60204076Spjd#define	A_OPT_TOGGLE		47
61204076Spjd#define	A_OPT_SET		48
62204076Spjd#define	A_OPT_UNSET		49
63204076Spjd#define	A_F_FOREVER		50
64204076Spjd#define	A_GOPOS			51
65204076Spjd#define	A_REMOVE_FILE		52
66204076Spjd#define	A_NEXT_TAG		53
67204076Spjd#define	A_PREV_TAG		54
68204076Spjd#define	A_FILTER		55
69204076Spjd
70204076Spjd#define	A_INVALID		100
71204076Spjd#define	A_NOACTION		101
72204076Spjd#define	A_UINVALID		102
73204076Spjd#define	A_END_LIST		103
74204076Spjd#define	A_SPECIAL_KEY		104
75204076Spjd
76204076Spjd#define A_SKIP			127
77204076Spjd
78204076Spjd#define	A_EXTRA			0200
79204076Spjd
80204076Spjd
81204076Spjd/* Line editting characters */
82204076Spjd
83204076Spjd#define	EC_BACKSPACE	1
84204076Spjd#define	EC_LINEKILL	2
85204076Spjd#define	EC_RIGHT	3
86204076Spjd#define	EC_LEFT		4
87204076Spjd#define	EC_W_LEFT	5
88204076Spjd#define	EC_W_RIGHT	6
89204076Spjd#define	EC_INSERT 	7
90204076Spjd#define	EC_DELETE	8
91204076Spjd#define	EC_HOME		9
92204076Spjd#define	EC_END		10
93204076Spjd#define	EC_W_BACKSPACE	11
94204076Spjd#define	EC_W_DELETE	12
95204076Spjd#define	EC_UP		13
96204076Spjd#define	EC_DOWN		14
97204076Spjd#define	EC_EXPAND	15
98204076Spjd#define	EC_F_COMPLETE	17
99204076Spjd#define	EC_B_COMPLETE	18
100204076Spjd#define	EC_LITERAL	19
101204076Spjd
102204076Spjd#define	EC_NOACTION	101
103204076Spjd#define	EC_UINVALID	102
104204076Spjd
105204076Spjd/* Flags for editchar() */
106211877Spjd#define	EC_PEEK		01
107211877Spjd#define	EC_NOHISTORY	02
108211877Spjd#define	EC_NOCOMPLETE	04
109211877Spjd#define	EC_NORIGHTLEFT	010
110211877Spjd
111211877Spjd/* Environment variable stuff */
112211877Spjd#define	EV_OK		01
113211877Spjd
114211877Spjd/* Special keys (keys which output different strings on different terminals) */
115211877Spjd#define SK_SPECIAL_KEY		CONTROL('K')
116211877Spjd#define SK_RIGHT_ARROW		1
117211877Spjd#define SK_LEFT_ARROW		2
118211877Spjd#define SK_UP_ARROW		3
119211877Spjd#define SK_DOWN_ARROW		4
120211877Spjd#define SK_PAGE_UP		5
121211877Spjd#define SK_PAGE_DOWN		6
122211877Spjd#define SK_HOME			7
123211877Spjd#define SK_END			8
124211877Spjd#define SK_DELETE		9
125211877Spjd#define SK_INSERT		10
126204076Spjd#define SK_CTL_LEFT_ARROW	11
127204076Spjd#define SK_CTL_RIGHT_ARROW	12
128204076Spjd#define SK_CTL_DELETE		13
129204076Spjd#define SK_F1			14
130204076Spjd#define SK_BACKTAB		15
131204076Spjd#define SK_CTL_BACKSPACE	16
132204076Spjd#define SK_CONTROL_K		40
133204076Spjd