[BACK]Return to cmdtab.tab CVS log [TXT][DIR] Up to [local] / src / usr.bin / vim

Annotation of src/usr.bin/vim/cmdtab.tab, Revision 1.3

1.3     ! downsj      1: /* $OpenBSD: cmdtab.tab,v 1.2 1996/09/21 06:22:55 downsj Exp $ */
1.1       downsj      2: /* vi:ts=4:sw=4
                      3:  *
                      4:  * VIM - Vi IMproved
                      5:  *
                      6:  * Code Contributions By:  Bram Moolenaar          mool@plex.nl
                      7:  *                         Tim Thompson            twitch!tjt
                      8:  *                         Tony Andrews            onecom!wldrdg!tony
                      9:  *                         G. R. (Fred) Walter     watmath!watcgl!grwalter
                     10:  */
                     11:
                     12: /*
                     13:  * |This file is read by mkcmdtab to produce cmdtab.h.
                     14:  *
                     15:  * The bars are used to recognize file positions. Do not insert/delete them.|
                     16:  */
                     17:
                     18: #define RANGE     0x01         /* allow a linespecs */
                     19: #define BANG      0x02         /* allow a ! after the command name */
                     20: #define EXTRA     0x04         /* allow extra args after command name */
                     21: #define XFILE     0x08         /* expand wildcards in extra part */
                     22: #define NOSPC     0x10         /* no spaces allowed in the extra part */
                     23: #define    DFLALL     0x20         /* default file range is 1,$ */
                     24: #define NODFL     0x40         /* do not default to the current file name */
                     25: #define NEEDARG       0x80         /* argument required */
                     26: #define TRLBAR   0x100         /* check for trailing vertical bar */
                     27: #define REGSTR   0x200         /* allow "x for register designation */
                     28: #define COUNT    0x400         /* allow count in argument, after command */
                     29: #define NOTRLCOM  0x800            /* no trailing comment allowed */
                     30: #define ZEROR   0x1000         /* zero line number allowed */
                     31: #define USECTRLV 0x2000            /* do not remove CTRL-V from argument */
                     32: #define NOTADR  0x4000         /* number before command is not an address */
                     33: #define EDITCMD     0x8000         /* has "+command" argument */
                     34: #define BUFNAME 0x10000            /* accepts buffer name */
                     35: #define FILES  (XFILE + EXTRA) /* multiple extra files allowed */
                     36: #define WORD1  (EXTRA + NOSPC) /* one extra word allowed */
                     37: #define FILE1  (FILES + NOSPC) /* 1 file allowed, defaults to current file */
                     38: #define NAMEDF (FILE1 + NODFL) /* 1 file allowed, defaults to "" */
                     39: #define NAMEDFS    (FILES + NODFL) /* multiple files allowed, default is "" */
                     40:
                     41: /*
                     42:  * This array maps ex command names to command codes. The order in which
                     43:  * command names are listed below is significant -- ambiguous abbreviations
                     44:  * are always resolved to be the first possible match (e.g. "r" is taken
                     45:  * to mean "read", not "rewind", because "read" comes before "rewind").
                     46:  * Not supported commands are included to avoid ambiguities.
                     47:  */
                     48: static struct
                     49: {
                     50:    char_u  *cmd_name;  /* name of the command */
                     51:    long_u   cmd_argt;  /* command line arguments permitted/needed/used */
                     52: } cmdnames[] =
                     53: {
                     54: |  {(char_u *)"append",        BANG+RANGE+TRLBAR},         /* not supported */
                     55:    {(char_u *)"all",           RANGE+NOTADR+COUNT+TRLBAR},
                     56:    {(char_u *)"abbreviate",    EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     57:    {(char_u *)"abclear",       TRLBAR},
                     58:    {(char_u *)"args",          BANG+NAMEDFS+EDITCMD+TRLBAR},
                     59:    {(char_u *)"argument",      BANG+RANGE+NOTADR+COUNT+EXTRA+EDITCMD+TRLBAR},
                     60:    {(char_u *)"ascii",         TRLBAR},
                     61:    {(char_u *)"autocmd",       BANG+EXTRA+NOTRLCOM+USECTRLV},
                     62:    {(char_u *)"buffer",        RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR},
                     63:    {(char_u *)"ball",          RANGE+NOTADR+COUNT+TRLBAR},
                     64:    {(char_u *)"buffers",       TRLBAR},
                     65:    {(char_u *)"bdelete",       BANG+RANGE+BUFNAME+NOTADR+COUNT+EXTRA+TRLBAR},
                     66:    {(char_u *)"bunload",       BANG+RANGE+BUFNAME+NOTADR+COUNT+EXTRA+TRLBAR},
                     67:    {(char_u *)"bmodified",     RANGE+NOTADR+COUNT+TRLBAR},
                     68:    {(char_u *)"bnext",         RANGE+NOTADR+COUNT+TRLBAR},
                     69:    {(char_u *)"bNext",         RANGE+NOTADR+COUNT+TRLBAR},
                     70:    {(char_u *)"bprevious",     RANGE+NOTADR+COUNT+TRLBAR},
                     71:    {(char_u *)"brewind",       RANGE+TRLBAR},
                     72:    {(char_u *)"blast",         RANGE+TRLBAR},
                     73:    {(char_u *)"change",        BANG+RANGE+COUNT+TRLBAR},   /* not supported */
                     74:    {(char_u *)"cabbrev",       EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     75:    {(char_u *)"cabclear",      TRLBAR},
                     76:    {(char_u *)"cc",            RANGE+NOTADR+COUNT+TRLBAR+BANG},
                     77:    {(char_u *)"cd",            NAMEDF+TRLBAR},
                     78:    {(char_u *)"center",        TRLBAR+RANGE+EXTRA},
                     79:    {(char_u *)"cfile",         TRLBAR+FILE1+BANG},
                     80:    {(char_u *)"chdir",         NAMEDF+TRLBAR},
                     81:    {(char_u *)"checkpath",     TRLBAR+BANG},
                     82:    {(char_u *)"clist",         TRLBAR+BANG},
                     83:    {(char_u *)"close",         BANG+TRLBAR},
                     84:    {(char_u *)"cmap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     85:    {(char_u *)"cmapclear",     TRLBAR},
                     86:    {(char_u *)"cmenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     87:    {(char_u *)"cnext",         RANGE+NOTADR+COUNT+TRLBAR+BANG},
                     88:    {(char_u *)"cNext",         RANGE+NOTADR+COUNT+TRLBAR+BANG},
                     89:    {(char_u *)"cnoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     90:    {(char_u *)"cnoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     91:    {(char_u *)"cnoreabbrev",   EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                     92:    {(char_u *)"copy",          RANGE+EXTRA+TRLBAR},
                     93:    {(char_u *)"cprevious",     RANGE+NOTADR+COUNT+TRLBAR+BANG},
                     94:    {(char_u *)"cquit",         TRLBAR+BANG},
                     95:    {(char_u *)"cunmap",        EXTRA+TRLBAR+USECTRLV},
                     96:    {(char_u *)"cunmenu",       EXTRA+TRLBAR+USECTRLV},
                     97:    {(char_u *)"cunabbrev",     EXTRA+TRLBAR+USECTRLV},
                     98:    {(char_u *)"delete",        RANGE+REGSTR+COUNT+TRLBAR},
                     99:    {(char_u *)"display",       EXTRA+NOTRLCOM+TRLBAR},
                    100:    {(char_u *)"digraphs",      EXTRA+TRLBAR},
                    101:    {(char_u *)"djump",         BANG+RANGE+DFLALL+EXTRA},
                    102:    {(char_u *)"dlist",         BANG+RANGE+DFLALL+EXTRA},
                    103:    {(char_u *)"doautocmd",     EXTRA+TRLBAR},
                    104:    {(char_u *)"dsearch",       BANG+RANGE+DFLALL+EXTRA},
                    105:    {(char_u *)"dsplit",        BANG+RANGE+DFLALL+EXTRA+TRLBAR},
                    106:    {(char_u *)"edit",          BANG+FILE1+EDITCMD+TRLBAR},
1.2       downsj    107:    {(char_u *)"endif",         RANGE+BANG+EXTRA},
1.1       downsj    108:    {(char_u *)"ex",            BANG+FILE1+EDITCMD+TRLBAR},
                    109:    {(char_u *)"exit",          RANGE+BANG+FILE1+DFLALL+TRLBAR},
                    110:    {(char_u *)"file",          BANG+FILE1+TRLBAR},
                    111:    {(char_u *)"files",         TRLBAR},
                    112:    {(char_u *)"fixdel",        TRLBAR},
                    113:    {(char_u *)"global",        RANGE+BANG+EXTRA+DFLALL},
                    114:    {(char_u *)"gui",           BANG+NAMEDFS+EDITCMD+TRLBAR},
                    115:    {(char_u *)"gvim",          BANG+NAMEDFS+EDITCMD+TRLBAR},
                    116:    {(char_u *)"help",          EXTRA+NOTRLCOM},
                    117:    {(char_u *)"insert",        BANG+RANGE+TRLBAR},         /* not supported */
                    118:    {(char_u *)"iabbrev",       EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    119:    {(char_u *)"iabclear",      TRLBAR},
1.2       downsj    120:    {(char_u *)"if",            RANGE+BANG+EXTRA},
1.1       downsj    121:    {(char_u *)"ijump",         BANG+RANGE+DFLALL+EXTRA},
                    122:    {(char_u *)"ilist",         BANG+RANGE+DFLALL+EXTRA},
                    123:    {(char_u *)"imap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    124:    {(char_u *)"imapclear",     TRLBAR},
                    125:    {(char_u *)"imenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    126:    {(char_u *)"inoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    127:    {(char_u *)"inoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    128:    {(char_u *)"inoreabbrev",   EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    129:    {(char_u *)"isearch",       BANG+RANGE+DFLALL+EXTRA},
                    130:    {(char_u *)"isplit",        BANG+RANGE+DFLALL+EXTRA+TRLBAR},
                    131:    {(char_u *)"iunmap",        EXTRA+TRLBAR+USECTRLV},
                    132:    {(char_u *)"iunmenu",       EXTRA+TRLBAR+USECTRLV},
                    133:    {(char_u *)"iunabbrev",     EXTRA+TRLBAR+USECTRLV},
                    134:    {(char_u *)"join",          BANG+RANGE+COUNT+TRLBAR},
                    135:    {(char_u *)"jumps",         TRLBAR},
                    136:    {(char_u *)"k",             RANGE+WORD1+TRLBAR},
                    137:    {(char_u *)"list",          RANGE+COUNT+TRLBAR},
                    138:    {(char_u *)"last",          EXTRA+BANG+EDITCMD+TRLBAR},
                    139:    {(char_u *)"left",          TRLBAR+RANGE+EXTRA},
                    140:    {(char_u *)"ls",            TRLBAR},
                    141:    {(char_u *)"move",          RANGE+EXTRA+TRLBAR},
                    142:    {(char_u *)"mark",          RANGE+WORD1+TRLBAR},
                    143:    {(char_u *)"marks",         EXTRA+TRLBAR},
                    144:    {(char_u *)"map",           BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    145:    {(char_u *)"mapclear",      BANG+TRLBAR},
                    146:    {(char_u *)"make",          NEEDARG+EXTRA+TRLBAR+XFILE},
                    147:    {(char_u *)"menu",          BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    148:    {(char_u *)"mkexrc",        BANG+FILE1+TRLBAR},
                    149:    {(char_u *)"mkvimrc",       BANG+FILE1+TRLBAR},
                    150:    {(char_u *)"mfstat",        TRLBAR},                    /* for debugging */
                    151:    {(char_u *)"mode",          WORD1+TRLBAR},
                    152:    {(char_u *)"next",          RANGE+NOTADR+BANG+NAMEDFS+EDITCMD+TRLBAR},
                    153:    {(char_u *)"new",           BANG+FILE1+RANGE+NOTADR+EDITCMD+TRLBAR},
                    154:    {(char_u *)"nmap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    155:    {(char_u *)"nmapclear",     TRLBAR},
                    156:    {(char_u *)"nmenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    157:    {(char_u *)"nnoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    158:    {(char_u *)"nnoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    159:    {(char_u *)"number",        RANGE+COUNT+TRLBAR},
                    160:    {(char_u *)"#",             RANGE+COUNT+TRLBAR},
                    161:    {(char_u *)"noremap",       BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    162:    {(char_u *)"noremenu",      BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    163:    {(char_u *)"noreabbrev",    EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    164:    {(char_u *)"normal",        BANG+EXTRA+NEEDARG+NOTRLCOM+USECTRLV},
                    165:    {(char_u *)"nunmap",        EXTRA+TRLBAR+USECTRLV},
                    166:    {(char_u *)"nunmenu",       EXTRA+TRLBAR+USECTRLV},
                    167:    {(char_u *)"Next",          EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
                    168:    {(char_u *)"open",          TRLBAR},                    /* not supported */
                    169:    {(char_u *)"only",          BANG+TRLBAR},
                    170:    {(char_u *)"print",         RANGE+COUNT+TRLBAR},
                    171:    {(char_u *)"pop",           RANGE+NOTADR+COUNT+TRLBAR+ZEROR},
1.2       downsj    172:    {(char_u *)"put",           RANGE+BANG+REGSTR+TRLBAR+ZEROR},
1.1       downsj    173:    {(char_u *)"preserve",      TRLBAR},
                    174:    {(char_u *)"previous",      EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
                    175:    {(char_u *)"pwd",           TRLBAR},
                    176:    {(char_u *)"quit",          BANG+TRLBAR},
                    177:    {(char_u *)"qall",          BANG+TRLBAR},
                    178:    {(char_u *)"read",          BANG+RANGE+NAMEDF+TRLBAR+ZEROR},
                    179:    {(char_u *)"rewind",        EXTRA+BANG+EDITCMD+TRLBAR},
                    180:    {(char_u *)"recover",       BANG+FILE1+TRLBAR},
                    181:    {(char_u *)"redo",          TRLBAR},
                    182:    {(char_u *)"registers",     EXTRA+NOTRLCOM+TRLBAR},
                    183:    {(char_u *)"resize",        TRLBAR+WORD1},
                    184:    {(char_u *)"retab",         TRLBAR+RANGE+DFLALL+BANG+WORD1},
                    185:    {(char_u *)"right",         TRLBAR+RANGE+EXTRA},
                    186:    {(char_u *)"rviminfo",      BANG+FILE1+TRLBAR},         /* only when VIMINFO defined */
                    187:    {(char_u *)"substitute",    RANGE+EXTRA},
                    188:    {(char_u *)"sargument",     BANG+RANGE+NOTADR+COUNT+EXTRA+EDITCMD+TRLBAR},
                    189:    {(char_u *)"sall",          RANGE+NOTADR+COUNT+TRLBAR},
                    190:    {(char_u *)"sbuffer",       RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR},
                    191:    {(char_u *)"sball",         RANGE+NOTADR+COUNT+TRLBAR},
                    192:    {(char_u *)"sbmodified",    RANGE+NOTADR+COUNT+TRLBAR},
                    193:    {(char_u *)"sbnext",        RANGE+NOTADR+COUNT+TRLBAR},
                    194:    {(char_u *)"sbNext",        RANGE+NOTADR+COUNT+TRLBAR},
                    195:    {(char_u *)"sbprevious",    RANGE+NOTADR+COUNT+TRLBAR},
                    196:    {(char_u *)"sbrewind",      TRLBAR},
                    197:    {(char_u *)"sblast",        TRLBAR},
                    198:    {(char_u *)"suspend",       TRLBAR+BANG},
                    199:    {(char_u *)"set",           EXTRA+TRLBAR},
                    200:    {(char_u *)"shell",         TRLBAR},
                    201:    {(char_u *)"sleep",         RANGE+COUNT+NOTADR+TRLBAR},
                    202:    {(char_u *)"source",        BANG+NAMEDF+NEEDARG+TRLBAR},
                    203:    {(char_u *)"split",         BANG+FILE1+RANGE+NOTADR+EDITCMD+TRLBAR},
                    204:    {(char_u *)"snext",         RANGE+NOTADR+BANG+NAMEDFS+EDITCMD+TRLBAR},
                    205:    {(char_u *)"sNext",         EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
                    206:    {(char_u *)"sprevious",     EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
                    207:    {(char_u *)"srewind",       EXTRA+BANG+EDITCMD+TRLBAR},
                    208:    {(char_u *)"slast",         EXTRA+BANG+EDITCMD+TRLBAR},
                    209:    {(char_u *)"stop",          TRLBAR+BANG},
                    210:    {(char_u *)"stag",          RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR},
                    211:    {(char_u *)"sunhide",       RANGE+NOTADR+COUNT+TRLBAR},
                    212:    {(char_u *)"sview",         NEEDARG+RANGE+BANG+FILE1+EDITCMD+TRLBAR},
                    213:    {(char_u *)"swapname",      TRLBAR},
                    214:    {(char_u *)"t",             RANGE+EXTRA+TRLBAR},
                    215:    {(char_u *)"tag",           RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR},
                    216:    {(char_u *)"tags",          TRLBAR},
                    217:    {(char_u *)"undo",          TRLBAR},
                    218:    {(char_u *)"unabbreviate",  EXTRA+TRLBAR+USECTRLV},
                    219:    {(char_u *)"unhide",        RANGE+NOTADR+COUNT+TRLBAR},
                    220:    {(char_u *)"unmap",         BANG+EXTRA+TRLBAR+USECTRLV},
                    221:    {(char_u *)"unmenu",        BANG+EXTRA+TRLBAR+USECTRLV},
                    222:    {(char_u *)"vglobal",       RANGE+EXTRA+DFLALL},
                    223:    {(char_u *)"version",       EXTRA+TRLBAR},
                    224:    {(char_u *)"visual",        RANGE+BANG+FILE1+EDITCMD+TRLBAR},
                    225:    {(char_u *)"view",          RANGE+BANG+FILE1+EDITCMD+TRLBAR},
                    226:    {(char_u *)"vmap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    227:    {(char_u *)"vmapclear",     TRLBAR},
                    228:    {(char_u *)"vmenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    229:    {(char_u *)"vnoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    230:    {(char_u *)"vnoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
                    231:    {(char_u *)"vunmap",        EXTRA+TRLBAR+USECTRLV},
                    232:    {(char_u *)"vunmenu",       EXTRA+TRLBAR+USECTRLV},
                    233:    {(char_u *)"write",         RANGE+BANG+FILE1+DFLALL+TRLBAR},
                    234:    {(char_u *)"wnext",         RANGE+NOTADR+BANG+FILE1+TRLBAR},
                    235:    {(char_u *)"wNext",         RANGE+NOTADR+BANG+FILE1+TRLBAR},
                    236:    {(char_u *)"wprevious",     RANGE+NOTADR+BANG+FILE1+TRLBAR},
                    237:    {(char_u *)"winsize",       EXTRA+NEEDARG+TRLBAR},
                    238:    {(char_u *)"wq",            RANGE+BANG+FILE1+DFLALL+TRLBAR},
                    239:    {(char_u *)"wall",          BANG+TRLBAR},
                    240:    {(char_u *)"wqall",         BANG+FILE1+DFLALL+TRLBAR},
                    241:    {(char_u *)"wviminfo",      BANG+FILE1+TRLBAR},         /* only when VIMINFO defined */
                    242:    {(char_u *)"xit",           RANGE+BANG+FILE1+DFLALL+TRLBAR},
                    243:    {(char_u *)"xall",          BANG+TRLBAR},
                    244:    {(char_u *)"yank",          RANGE+REGSTR+COUNT+TRLBAR},
1.3     ! downsj    245:    {(char_u *)"z",             RANGE+EXTRA+TRLBAR},        /* not supported */
1.1       downsj    246:    {(char_u *)"@",             RANGE+EXTRA+TRLBAR},
                    247:    {(char_u *)"!",             RANGE+BANG+NAMEDFS},
                    248:    {(char_u *)"<",             RANGE+COUNT+TRLBAR},
                    249:    {(char_u *)">",             RANGE+COUNT+TRLBAR},
                    250:    {(char_u *)"=",             RANGE+TRLBAR},
                    251:    {(char_u *)"&",             RANGE+EXTRA},
                    252:    {(char_u *)"~",             RANGE+EXTRA}
                    253: |
                    254: };
                    255: |