xref: /netbsd-src/external/bsd/less/dist/cmd.h (revision 838f5788460f0f133b15d706e644d692a9d4d6ec)
1*838f5788Ssimonb /*	$NetBSD: cmd.h,v 1.4 2023/10/06 05:49:49 simonb Exp $	*/
220006a0bStron 
320006a0bStron /*
4*838f5788Ssimonb  * Copyright (C) 1984-2023  Mark Nudelman
520006a0bStron  *
620006a0bStron  * You may distribute under the terms of either the GNU General Public
720006a0bStron  * License or the Less License, as specified in the README file.
820006a0bStron  *
9ec18bca0Stron  * For more information, see the README file.
1020006a0bStron  */
1120006a0bStron 
1220006a0bStron 
13ec18bca0Stron #define MAX_USERCMD            1000
1420006a0bStron #define MAX_CMDLEN             16
1520006a0bStron 
1620006a0bStron #define A_B_LINE               2
1720006a0bStron #define A_B_SCREEN             3
1820006a0bStron #define A_B_SCROLL             4
1920006a0bStron #define A_B_SEARCH             5
2020006a0bStron #define A_DIGIT                6
2120006a0bStron #define A_DISP_OPTION          7
2220006a0bStron #define A_DEBUG                8
2320006a0bStron #define A_EXAMINE              9
2420006a0bStron #define A_FIRSTCMD             10
2520006a0bStron #define A_FREPAINT             11
2620006a0bStron #define A_F_LINE               12
2720006a0bStron #define A_F_SCREEN             13
2820006a0bStron #define A_F_SCROLL             14
2920006a0bStron #define A_F_SEARCH             15
3020006a0bStron #define A_GOEND                16
3120006a0bStron #define A_GOLINE               17
3220006a0bStron #define A_GOMARK               18
3320006a0bStron #define A_HELP                 19
3420006a0bStron #define A_NEXT_FILE            20
3520006a0bStron #define A_PERCENT              21
3620006a0bStron #define A_PREV_FILE            23
3720006a0bStron #define A_QUIT                 24
3820006a0bStron #define A_REPAINT              25
3920006a0bStron #define A_SETMARK              26
4020006a0bStron #define A_SHELL                27
4120006a0bStron #define A_STAT                 28
4220006a0bStron #define A_FF_LINE              29
4320006a0bStron #define A_BF_LINE              30
4420006a0bStron #define A_VERSION              31
4520006a0bStron #define A_VISUAL               32
4620006a0bStron #define A_F_WINDOW             33
4720006a0bStron #define A_B_WINDOW             34
4820006a0bStron #define A_F_BRACKET            35
4920006a0bStron #define A_B_BRACKET            36
5020006a0bStron #define A_PIPE                 37
5120006a0bStron #define A_INDEX_FILE           38
5220006a0bStron #define A_UNDO_SEARCH          39
5320006a0bStron #define A_FF_SCREEN            40
5420006a0bStron #define A_LSHIFT               41
5520006a0bStron #define A_RSHIFT               42
5620006a0bStron #define A_AGAIN_SEARCH         43
5720006a0bStron #define A_T_AGAIN_SEARCH       44
5820006a0bStron #define A_REVERSE_SEARCH       45
5920006a0bStron #define A_T_REVERSE_SEARCH     46
6020006a0bStron #define A_OPT_TOGGLE           47
6120006a0bStron #define A_OPT_SET              48
6220006a0bStron #define A_OPT_UNSET            49
6320006a0bStron #define A_F_FOREVER            50
6420006a0bStron #define A_GOPOS                51
6520006a0bStron #define A_REMOVE_FILE          52
6620006a0bStron #define A_NEXT_TAG             53
6720006a0bStron #define A_PREV_TAG             54
6820006a0bStron #define A_FILTER               55
69ec18bca0Stron #define A_F_UNTIL_HILITE       56
70*838f5788Ssimonb #define A_GOEND_BUF            57
71*838f5788Ssimonb #define A_LLSHIFT              58
72*838f5788Ssimonb #define A_RRSHIFT              59
73*838f5788Ssimonb #define A_CLRMARK              62
74*838f5788Ssimonb #define A_SETMARKBOT           63
75*838f5788Ssimonb #define A_X11MOUSE_IN          64
76*838f5788Ssimonb #define A_F_MOUSE              66
77*838f5788Ssimonb #define A_B_MOUSE              67
78*838f5788Ssimonb /* Note "X116" refers to extended (1006) X11 mouse reporting. */
79*838f5788Ssimonb #define A_X116MOUSE_IN         68
80*838f5788Ssimonb #define A_PSHELL               69
81*838f5788Ssimonb #define A_CLR_SEARCH           70
8220006a0bStron 
83*838f5788Ssimonb /* These values must not conflict with any A_* or EC_* value. */
8420006a0bStron #define A_INVALID              100
8520006a0bStron #define A_NOACTION             101
8620006a0bStron #define A_UINVALID             102
8720006a0bStron #define A_END_LIST             103
8820006a0bStron #define A_SPECIAL_KEY          104
89*838f5788Ssimonb #define A_PREFIX               105
9020006a0bStron #define A_SKIP                 127
9120006a0bStron 
9220006a0bStron #define A_EXTRA                0200
9320006a0bStron 
9420006a0bStron 
95ec18bca0Stron /* Line editing characters */
9620006a0bStron 
9720006a0bStron #define EC_BACKSPACE           1
9820006a0bStron #define EC_LINEKILL            2
9920006a0bStron #define EC_RIGHT               3
10020006a0bStron #define EC_LEFT                4
10120006a0bStron #define EC_W_LEFT              5
10220006a0bStron #define EC_W_RIGHT             6
10320006a0bStron #define EC_INSERT              7
10420006a0bStron #define EC_DELETE              8
10520006a0bStron #define EC_HOME                9
10620006a0bStron #define EC_END                 10
10720006a0bStron #define EC_W_BACKSPACE         11
10820006a0bStron #define EC_W_DELETE            12
10920006a0bStron #define EC_UP                  13
11020006a0bStron #define EC_DOWN                14
11120006a0bStron #define EC_EXPAND              15
11220006a0bStron #define EC_F_COMPLETE          17
11320006a0bStron #define EC_B_COMPLETE          18
11420006a0bStron #define EC_LITERAL             19
11520006a0bStron #define EC_ABORT               20
116*838f5788Ssimonb #define EC_X11MOUSE            21
117*838f5788Ssimonb #define EC_X116MOUSE           22
11820006a0bStron 
11920006a0bStron #define EC_UINVALID            102
12020006a0bStron 
12120006a0bStron /* Flags for editchar() */
122*838f5788Ssimonb #define ECF_PEEK                01
123*838f5788Ssimonb #define ECF_NOHISTORY           02
124*838f5788Ssimonb #define ECF_NOCOMPLETE          04
125*838f5788Ssimonb #define ECF_NORIGHTLEFT         010
12620006a0bStron 
12720006a0bStron /* Environment variable stuff */
12820006a0bStron #define EV_OK                  01
12920006a0bStron 
13020006a0bStron /* Special keys (keys which output different strings on different terminals) */
13120006a0bStron #define SK_SPECIAL_KEY         CONTROL('K')
13220006a0bStron #define SK_RIGHT_ARROW         1
13320006a0bStron #define SK_LEFT_ARROW          2
13420006a0bStron #define SK_UP_ARROW            3
13520006a0bStron #define SK_DOWN_ARROW          4
13620006a0bStron #define SK_PAGE_UP             5
13720006a0bStron #define SK_PAGE_DOWN           6
13820006a0bStron #define SK_HOME                7
13920006a0bStron #define SK_END                 8
14020006a0bStron #define SK_DELETE              9
14120006a0bStron #define SK_INSERT              10
14220006a0bStron #define SK_CTL_LEFT_ARROW      11
14320006a0bStron #define SK_CTL_RIGHT_ARROW     12
14420006a0bStron #define SK_CTL_DELETE          13
14520006a0bStron #define SK_F1                  14
14620006a0bStron #define SK_BACKTAB             15
14720006a0bStron #define SK_CTL_BACKSPACE       16
148*838f5788Ssimonb #define SK_BACKSPACE           17
14920006a0bStron #define SK_CONTROL_K           40
150