Home | History | Annotate | Line # | Download | only in dist
      1 /*	$NetBSD: cmd.h,v 1.4 2023/10/06 05:49:49 simonb Exp $	*/
      2 
      3 /*
      4  * Copyright (C) 1984-2023  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, see the README file.
     10  */
     11 
     12 
     13 #define MAX_USERCMD            1000
     14 #define MAX_CMDLEN             16
     15 
     16 #define A_B_LINE               2
     17 #define A_B_SCREEN             3
     18 #define A_B_SCROLL             4
     19 #define A_B_SEARCH             5
     20 #define A_DIGIT                6
     21 #define A_DISP_OPTION          7
     22 #define A_DEBUG                8
     23 #define A_EXAMINE              9
     24 #define A_FIRSTCMD             10
     25 #define A_FREPAINT             11
     26 #define A_F_LINE               12
     27 #define A_F_SCREEN             13
     28 #define A_F_SCROLL             14
     29 #define A_F_SEARCH             15
     30 #define A_GOEND                16
     31 #define A_GOLINE               17
     32 #define A_GOMARK               18
     33 #define A_HELP                 19
     34 #define A_NEXT_FILE            20
     35 #define A_PERCENT              21
     36 #define A_PREV_FILE            23
     37 #define A_QUIT                 24
     38 #define A_REPAINT              25
     39 #define A_SETMARK              26
     40 #define A_SHELL                27
     41 #define A_STAT                 28
     42 #define A_FF_LINE              29
     43 #define A_BF_LINE              30
     44 #define A_VERSION              31
     45 #define A_VISUAL               32
     46 #define A_F_WINDOW             33
     47 #define A_B_WINDOW             34
     48 #define A_F_BRACKET            35
     49 #define A_B_BRACKET            36
     50 #define A_PIPE                 37
     51 #define A_INDEX_FILE           38
     52 #define A_UNDO_SEARCH          39
     53 #define A_FF_SCREEN            40
     54 #define A_LSHIFT               41
     55 #define A_RSHIFT               42
     56 #define A_AGAIN_SEARCH         43
     57 #define A_T_AGAIN_SEARCH       44
     58 #define A_REVERSE_SEARCH       45
     59 #define A_T_REVERSE_SEARCH     46
     60 #define A_OPT_TOGGLE           47
     61 #define A_OPT_SET              48
     62 #define A_OPT_UNSET            49
     63 #define A_F_FOREVER            50
     64 #define A_GOPOS                51
     65 #define A_REMOVE_FILE          52
     66 #define A_NEXT_TAG             53
     67 #define A_PREV_TAG             54
     68 #define A_FILTER               55
     69 #define A_F_UNTIL_HILITE       56
     70 #define A_GOEND_BUF            57
     71 #define A_LLSHIFT              58
     72 #define A_RRSHIFT              59
     73 #define A_CLRMARK              62
     74 #define A_SETMARKBOT           63
     75 #define A_X11MOUSE_IN          64
     76 #define A_F_MOUSE              66
     77 #define A_B_MOUSE              67
     78 /* Note "X116" refers to extended (1006) X11 mouse reporting. */
     79 #define A_X116MOUSE_IN         68
     80 #define A_PSHELL               69
     81 #define A_CLR_SEARCH           70
     82 
     83 /* These values must not conflict with any A_* or EC_* value. */
     84 #define A_INVALID              100
     85 #define A_NOACTION             101
     86 #define A_UINVALID             102
     87 #define A_END_LIST             103
     88 #define A_SPECIAL_KEY          104
     89 #define A_PREFIX               105
     90 #define A_SKIP                 127
     91 
     92 #define A_EXTRA                0200
     93 
     94 
     95 /* Line editing characters */
     96 
     97 #define EC_BACKSPACE           1
     98 #define EC_LINEKILL            2
     99 #define EC_RIGHT               3
    100 #define EC_LEFT                4
    101 #define EC_W_LEFT              5
    102 #define EC_W_RIGHT             6
    103 #define EC_INSERT              7
    104 #define EC_DELETE              8
    105 #define EC_HOME                9
    106 #define EC_END                 10
    107 #define EC_W_BACKSPACE         11
    108 #define EC_W_DELETE            12
    109 #define EC_UP                  13
    110 #define EC_DOWN                14
    111 #define EC_EXPAND              15
    112 #define EC_F_COMPLETE          17
    113 #define EC_B_COMPLETE          18
    114 #define EC_LITERAL             19
    115 #define EC_ABORT               20
    116 #define EC_X11MOUSE            21
    117 #define EC_X116MOUSE           22
    118 
    119 #define EC_UINVALID            102
    120 
    121 /* Flags for editchar() */
    122 #define ECF_PEEK                01
    123 #define ECF_NOHISTORY           02
    124 #define ECF_NOCOMPLETE          04
    125 #define ECF_NORIGHTLEFT         010
    126 
    127 /* Environment variable stuff */
    128 #define EV_OK                  01
    129 
    130 /* Special keys (keys which output different strings on different terminals) */
    131 #define SK_SPECIAL_KEY         CONTROL('K')
    132 #define SK_RIGHT_ARROW         1
    133 #define SK_LEFT_ARROW          2
    134 #define SK_UP_ARROW            3
    135 #define SK_DOWN_ARROW          4
    136 #define SK_PAGE_UP             5
    137 #define SK_PAGE_DOWN           6
    138 #define SK_HOME                7
    139 #define SK_END                 8
    140 #define SK_DELETE              9
    141 #define SK_INSERT              10
    142 #define SK_CTL_LEFT_ARROW      11
    143 #define SK_CTL_RIGHT_ARROW     12
    144 #define SK_CTL_DELETE          13
    145 #define SK_F1                  14
    146 #define SK_BACKTAB             15
    147 #define SK_CTL_BACKSPACE       16
    148 #define SK_BACKSPACE           17
    149 #define SK_CONTROL_K           40
    150