160786Sps/*
2240121Sdelphij * Copyright (C) 1984-2012  Mark Nudelman
360786Sps *
460786Sps * You may distribute under the terms of either the GNU General Public
560786Sps * License or the Less License, as specified in the README file.
660786Sps *
7240121Sdelphij * For more information, see the README file.
860786Sps */
960786Sps
1060786Sps
11240121Sdelphij#define	MAX_USERCMD		1000
1260786Sps#define	MAX_CMDLEN		16
1360786Sps
1460786Sps#define	A_B_LINE		2
1560786Sps#define	A_B_SCREEN		3
1660786Sps#define	A_B_SCROLL		4
1760786Sps#define	A_B_SEARCH		5
1860786Sps#define	A_DIGIT			6
1960786Sps#define	A_DISP_OPTION		7
2060786Sps#define	A_DEBUG			8
2160786Sps#define	A_EXAMINE		9
2260786Sps#define	A_FIRSTCMD		10
2360786Sps#define	A_FREPAINT		11
2460786Sps#define	A_F_LINE		12
2560786Sps#define	A_F_SCREEN		13
2660786Sps#define	A_F_SCROLL		14
2760786Sps#define	A_F_SEARCH		15
2860786Sps#define	A_GOEND			16
2960786Sps#define	A_GOLINE		17
3060786Sps#define	A_GOMARK		18
3160786Sps#define	A_HELP			19
3260786Sps#define	A_NEXT_FILE		20
3360786Sps#define	A_PERCENT		21
3460786Sps#define	A_PREFIX		22
3560786Sps#define	A_PREV_FILE		23
3660786Sps#define	A_QUIT			24
3760786Sps#define	A_REPAINT		25
3860786Sps#define	A_SETMARK		26
3960786Sps#define	A_SHELL			27
4060786Sps#define	A_STAT			28
4160786Sps#define	A_FF_LINE		29
4260786Sps#define	A_BF_LINE		30
4360786Sps#define	A_VERSION		31
4460786Sps#define	A_VISUAL		32
4560786Sps#define	A_F_WINDOW		33
4660786Sps#define	A_B_WINDOW		34
4760786Sps#define	A_F_BRACKET		35
4860786Sps#define	A_B_BRACKET		36
4960786Sps#define	A_PIPE			37
5060786Sps#define	A_INDEX_FILE		38
5160786Sps#define	A_UNDO_SEARCH		39
5260786Sps#define	A_FF_SCREEN		40
5360786Sps#define	A_LSHIFT		41
5460786Sps#define	A_RSHIFT		42
5560786Sps#define	A_AGAIN_SEARCH		43
5660786Sps#define	A_T_AGAIN_SEARCH	44
5760786Sps#define	A_REVERSE_SEARCH	45
5860786Sps#define	A_T_REVERSE_SEARCH	46
5960786Sps#define	A_OPT_TOGGLE		47
6060786Sps#define	A_OPT_SET		48
6160786Sps#define	A_OPT_UNSET		49
6260786Sps#define	A_F_FOREVER		50
6360786Sps#define	A_GOPOS			51
6460786Sps#define	A_REMOVE_FILE		52
6589019Sps#define	A_NEXT_TAG		53
6689019Sps#define	A_PREV_TAG		54
67191930Sdelphij#define	A_FILTER		55
68240121Sdelphij#define	A_F_UNTIL_HILITE	56
6960786Sps
7060786Sps#define	A_INVALID		100
7160786Sps#define	A_NOACTION		101
7260786Sps#define	A_UINVALID		102
7360786Sps#define	A_END_LIST		103
7460786Sps#define	A_SPECIAL_KEY		104
7560786Sps
7660786Sps#define A_SKIP			127
7760786Sps
7860786Sps#define	A_EXTRA			0200
7960786Sps
8060786Sps
81240121Sdelphij/* Line editing characters */
8260786Sps
8360786Sps#define	EC_BACKSPACE	1
8460786Sps#define	EC_LINEKILL	2
8560786Sps#define	EC_RIGHT	3
8660786Sps#define	EC_LEFT		4
8760786Sps#define	EC_W_LEFT	5
8860786Sps#define	EC_W_RIGHT	6
8960786Sps#define	EC_INSERT 	7
9060786Sps#define	EC_DELETE	8
9160786Sps#define	EC_HOME		9
9260786Sps#define	EC_END		10
9360786Sps#define	EC_W_BACKSPACE	11
9460786Sps#define	EC_W_DELETE	12
9560786Sps#define	EC_UP		13
9660786Sps#define	EC_DOWN		14
9760786Sps#define	EC_EXPAND	15
9860786Sps#define	EC_F_COMPLETE	17
9960786Sps#define	EC_B_COMPLETE	18
10060786Sps#define	EC_LITERAL	19
101221715Sdelphij#define	EC_ABORT	20
10260786Sps
10360786Sps#define	EC_NOACTION	101
10460786Sps#define	EC_UINVALID	102
10560786Sps
10660786Sps/* Flags for editchar() */
10760786Sps#define	EC_PEEK		01
10860786Sps#define	EC_NOHISTORY	02
10960786Sps#define	EC_NOCOMPLETE	04
11089019Sps#define	EC_NORIGHTLEFT	010
11160786Sps
11260786Sps/* Environment variable stuff */
11360786Sps#define	EV_OK		01
11460786Sps
11560786Sps/* Special keys (keys which output different strings on different terminals) */
11660786Sps#define SK_SPECIAL_KEY		CONTROL('K')
11760786Sps#define SK_RIGHT_ARROW		1
11860786Sps#define SK_LEFT_ARROW		2
11960786Sps#define SK_UP_ARROW		3
12060786Sps#define SK_DOWN_ARROW		4
12160786Sps#define SK_PAGE_UP		5
12260786Sps#define SK_PAGE_DOWN		6
12360786Sps#define SK_HOME			7
12460786Sps#define SK_END			8
12560786Sps#define SK_DELETE		9
12660786Sps#define SK_INSERT		10
12760786Sps#define SK_CTL_LEFT_ARROW	11
12860786Sps#define SK_CTL_RIGHT_ARROW	12
12960786Sps#define SK_CTL_DELETE		13
13060786Sps#define SK_F1			14
13160786Sps#define SK_BACKTAB		15
13260786Sps#define SK_CTL_BACKSPACE	16
13360786Sps#define SK_CONTROL_K		40
134