xref: /openbsd-src/usr.bin/less/cmd.h (revision be1ba4b86ce4b27d42a5ceba73eaa6064a2f4ea4)
1e3b7954bSetheisen /*
226ad794dSshadchin  * Copyright (C) 1984-2012  Mark Nudelman
3b8c1323eSnicm  * Modified for use with illumos by Garrett D'Amore.
4b8c1323eSnicm  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5e3b7954bSetheisen  *
645076018Smillert  * You may distribute under the terms of either the GNU General Public
745076018Smillert  * License or the Less License, as specified in the README file.
8e3b7954bSetheisen  *
926ad794dSshadchin  * For more information, see the README file.
10e3b7954bSetheisen  */
11e3b7954bSetheisen 
1226ad794dSshadchin #define	MAX_USERCMD		1000
13e3b7954bSetheisen #define	MAX_CMDLEN		16
14e3b7954bSetheisen 
15e3b7954bSetheisen #define	A_B_LINE		2
16e3b7954bSetheisen #define	A_B_SCREEN		3
17e3b7954bSetheisen #define	A_B_SCROLL		4
18e3b7954bSetheisen #define	A_B_SEARCH		5
19e3b7954bSetheisen #define	A_DIGIT			6
20e3b7954bSetheisen #define	A_DISP_OPTION		7
21e3b7954bSetheisen #define	A_DEBUG			8
22e3b7954bSetheisen #define	A_EXAMINE		9
23e3b7954bSetheisen #define	A_FIRSTCMD		10
24e3b7954bSetheisen #define	A_FREPAINT		11
25e3b7954bSetheisen #define	A_F_LINE		12
26e3b7954bSetheisen #define	A_F_SCREEN		13
27e3b7954bSetheisen #define	A_F_SCROLL		14
28e3b7954bSetheisen #define	A_F_SEARCH		15
29e3b7954bSetheisen #define	A_GOEND			16
30e3b7954bSetheisen #define	A_GOLINE		17
31e3b7954bSetheisen #define	A_GOMARK		18
32e3b7954bSetheisen #define	A_HELP			19
33e3b7954bSetheisen #define	A_NEXT_FILE		20
34e3b7954bSetheisen #define	A_PERCENT		21
35e3b7954bSetheisen #define	A_PREFIX		22
36e3b7954bSetheisen #define	A_PREV_FILE		23
37e3b7954bSetheisen #define	A_QUIT			24
38e3b7954bSetheisen #define	A_REPAINT		25
39e3b7954bSetheisen #define	A_SETMARK		26
40*be1ba4b8Snicm /* 27 unused */
41e3b7954bSetheisen #define	A_STAT			28
42e3b7954bSetheisen #define	A_FF_LINE		29
43e3b7954bSetheisen #define	A_BF_LINE		30
44e3b7954bSetheisen #define	A_VERSION		31
45e3b7954bSetheisen #define	A_VISUAL		32
46e3b7954bSetheisen #define	A_F_WINDOW		33
47e3b7954bSetheisen #define	A_B_WINDOW		34
48e3b7954bSetheisen #define	A_F_BRACKET		35
49e3b7954bSetheisen #define	A_B_BRACKET		36
50e3b7954bSetheisen #define	A_PIPE			37
51e3b7954bSetheisen #define	A_INDEX_FILE		38
52e3b7954bSetheisen #define	A_UNDO_SEARCH		39
5345076018Smillert #define	A_FF_SCREEN		40
5445076018Smillert #define	A_LSHIFT		41
5545076018Smillert #define	A_RSHIFT		42
56e3b7954bSetheisen #define	A_AGAIN_SEARCH		43
57e3b7954bSetheisen #define	A_T_AGAIN_SEARCH	44
58e3b7954bSetheisen #define	A_REVERSE_SEARCH	45
59e3b7954bSetheisen #define	A_T_REVERSE_SEARCH	46
60e3b7954bSetheisen #define	A_OPT_TOGGLE		47
61e3b7954bSetheisen #define	A_OPT_SET		48
62e3b7954bSetheisen #define	A_OPT_UNSET		49
63e3b7954bSetheisen #define	A_F_FOREVER		50
64e3b7954bSetheisen #define	A_GOPOS			51
6545076018Smillert #define	A_REMOVE_FILE		52
6645076018Smillert #define	A_NEXT_TAG		53
6745076018Smillert #define	A_PREV_TAG		54
68168565f4Sshadchin #define	A_FILTER		55
6926ad794dSshadchin #define	A_F_UNTIL_HILITE	56
70171bb95eSnicm #define	A_F_SKIP		57
71e3b7954bSetheisen 
72e3b7954bSetheisen #define	A_INVALID		100
73e3b7954bSetheisen #define	A_NOACTION		101
74e3b7954bSetheisen #define	A_UINVALID		102
75e3b7954bSetheisen #define	A_END_LIST		103
7645076018Smillert #define	A_SPECIAL_KEY		104
7745076018Smillert 
7845076018Smillert #define	A_SKIP			127
79e3b7954bSetheisen 
80e3b7954bSetheisen #define	A_EXTRA			0200
81e3b7954bSetheisen 
82e3b7954bSetheisen 
83f7ab9cefSjmc /* Line editing characters */
84e3b7954bSetheisen 
85e3b7954bSetheisen #define	EC_BACKSPACE	1
86e3b7954bSetheisen #define	EC_LINEKILL	2
87e3b7954bSetheisen #define	EC_RIGHT	3
88e3b7954bSetheisen #define	EC_LEFT		4
89e3b7954bSetheisen #define	EC_W_LEFT	5
90e3b7954bSetheisen #define	EC_W_RIGHT	6
91e3b7954bSetheisen #define	EC_INSERT	7
92e3b7954bSetheisen #define	EC_DELETE	8
93e3b7954bSetheisen #define	EC_HOME		9
94e3b7954bSetheisen #define	EC_END		10
95e3b7954bSetheisen #define	EC_W_BACKSPACE	11
96e3b7954bSetheisen #define	EC_W_DELETE	12
97e3b7954bSetheisen #define	EC_UP		13
98e3b7954bSetheisen #define	EC_DOWN		14
99e3b7954bSetheisen #define	EC_EXPAND	15
100e3b7954bSetheisen #define	EC_F_COMPLETE	17
101e3b7954bSetheisen #define	EC_B_COMPLETE	18
102e3b7954bSetheisen #define	EC_LITERAL	19
103168565f4Sshadchin #define	EC_ABORT	20
104e3b7954bSetheisen 
10545076018Smillert #define	EC_NOACTION	101
106e3b7954bSetheisen #define	EC_UINVALID	102
107e3b7954bSetheisen 
108e3b7954bSetheisen /* Flags for editchar() */
109e3b7954bSetheisen #define	EC_PEEK		01
110e3b7954bSetheisen #define	EC_NOHISTORY	02
111e3b7954bSetheisen #define	EC_NOCOMPLETE	04
11245076018Smillert #define	EC_NORIGHTLEFT	010
113e3b7954bSetheisen 
11445076018Smillert /* Environment variable stuff */
11545076018Smillert #define	EV_OK		01
11645076018Smillert 
11745076018Smillert /* Special keys (keys which output different strings on different terminals) */
11845076018Smillert #define	SK_SPECIAL_KEY		CONTROL('K')
11945076018Smillert #define	SK_RIGHT_ARROW		1
12045076018Smillert #define	SK_LEFT_ARROW		2
12145076018Smillert #define	SK_UP_ARROW		3
12245076018Smillert #define	SK_DOWN_ARROW		4
12345076018Smillert #define	SK_PAGE_UP		5
12445076018Smillert #define	SK_PAGE_DOWN		6
12545076018Smillert #define	SK_HOME			7
12645076018Smillert #define	SK_END			8
12745076018Smillert #define	SK_DELETE		9
12845076018Smillert #define	SK_INSERT		10
12945076018Smillert #define	SK_CTL_LEFT_ARROW	11
13045076018Smillert #define	SK_CTL_RIGHT_ARROW	12
13145076018Smillert #define	SK_CTL_DELETE		13
13245076018Smillert #define	SK_F1			14
13345076018Smillert #define	SK_BACKTAB		15
13445076018Smillert #define	SK_CTL_BACKSPACE	16
13545076018Smillert #define	SK_CONTROL_K		40
136