[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.1

1.1     ! downsj      1: /* $OpenBSD$   */
        !             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},
        !           107:    {(char_u *)"ex",            BANG+FILE1+EDITCMD+TRLBAR},
        !           108:    {(char_u *)"exit",          RANGE+BANG+FILE1+DFLALL+TRLBAR},
        !           109:    {(char_u *)"file",          BANG+FILE1+TRLBAR},
        !           110:    {(char_u *)"files",         TRLBAR},
        !           111:    {(char_u *)"fixdel",        TRLBAR},
        !           112:    {(char_u *)"global",        RANGE+BANG+EXTRA+DFLALL},
        !           113:    {(char_u *)"gui",           BANG+NAMEDFS+EDITCMD+TRLBAR},
        !           114:    {(char_u *)"gvim",          BANG+NAMEDFS+EDITCMD+TRLBAR},
        !           115:    {(char_u *)"help",          EXTRA+NOTRLCOM},
        !           116:    {(char_u *)"insert",        BANG+RANGE+TRLBAR},         /* not supported */
        !           117:    {(char_u *)"iabbrev",       EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           118:    {(char_u *)"iabclear",      TRLBAR},
        !           119:    {(char_u *)"ijump",         BANG+RANGE+DFLALL+EXTRA},
        !           120:    {(char_u *)"ilist",         BANG+RANGE+DFLALL+EXTRA},
        !           121:    {(char_u *)"imap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           122:    {(char_u *)"imapclear",     TRLBAR},
        !           123:    {(char_u *)"imenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           124:    {(char_u *)"inoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           125:    {(char_u *)"inoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           126:    {(char_u *)"inoreabbrev",   EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           127:    {(char_u *)"isearch",       BANG+RANGE+DFLALL+EXTRA},
        !           128:    {(char_u *)"isplit",        BANG+RANGE+DFLALL+EXTRA+TRLBAR},
        !           129:    {(char_u *)"iunmap",        EXTRA+TRLBAR+USECTRLV},
        !           130:    {(char_u *)"iunmenu",       EXTRA+TRLBAR+USECTRLV},
        !           131:    {(char_u *)"iunabbrev",     EXTRA+TRLBAR+USECTRLV},
        !           132:    {(char_u *)"join",          BANG+RANGE+COUNT+TRLBAR},
        !           133:    {(char_u *)"jumps",         TRLBAR},
        !           134:    {(char_u *)"k",             RANGE+WORD1+TRLBAR},
        !           135:    {(char_u *)"list",          RANGE+COUNT+TRLBAR},
        !           136:    {(char_u *)"last",          EXTRA+BANG+EDITCMD+TRLBAR},
        !           137:    {(char_u *)"left",          TRLBAR+RANGE+EXTRA},
        !           138:    {(char_u *)"ls",            TRLBAR},
        !           139:    {(char_u *)"move",          RANGE+EXTRA+TRLBAR},
        !           140:    {(char_u *)"mark",          RANGE+WORD1+TRLBAR},
        !           141:    {(char_u *)"marks",         EXTRA+TRLBAR},
        !           142:    {(char_u *)"map",           BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           143:    {(char_u *)"mapclear",      BANG+TRLBAR},
        !           144:    {(char_u *)"make",          NEEDARG+EXTRA+TRLBAR+XFILE},
        !           145:    {(char_u *)"menu",          BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           146:    {(char_u *)"mkexrc",        BANG+FILE1+TRLBAR},
        !           147:    {(char_u *)"mkvimrc",       BANG+FILE1+TRLBAR},
        !           148:    {(char_u *)"mfstat",        TRLBAR},                    /* for debugging */
        !           149:    {(char_u *)"mode",          WORD1+TRLBAR},
        !           150:    {(char_u *)"next",          RANGE+NOTADR+BANG+NAMEDFS+EDITCMD+TRLBAR},
        !           151:    {(char_u *)"new",           BANG+FILE1+RANGE+NOTADR+EDITCMD+TRLBAR},
        !           152:    {(char_u *)"nmap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           153:    {(char_u *)"nmapclear",     TRLBAR},
        !           154:    {(char_u *)"nmenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           155:    {(char_u *)"nnoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           156:    {(char_u *)"nnoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           157:    {(char_u *)"number",        RANGE+COUNT+TRLBAR},
        !           158:    {(char_u *)"#",             RANGE+COUNT+TRLBAR},
        !           159:    {(char_u *)"noremap",       BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           160:    {(char_u *)"noremenu",      BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           161:    {(char_u *)"noreabbrev",    EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           162:    {(char_u *)"normal",        BANG+EXTRA+NEEDARG+NOTRLCOM+USECTRLV},
        !           163:    {(char_u *)"nunmap",        EXTRA+TRLBAR+USECTRLV},
        !           164:    {(char_u *)"nunmenu",       EXTRA+TRLBAR+USECTRLV},
        !           165:    {(char_u *)"Next",          EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
        !           166:    {(char_u *)"open",          TRLBAR},                    /* not supported */
        !           167:    {(char_u *)"only",          BANG+TRLBAR},
        !           168:    {(char_u *)"print",         RANGE+COUNT+TRLBAR},
        !           169:    {(char_u *)"pop",           RANGE+NOTADR+COUNT+TRLBAR+ZEROR},
        !           170:    {(char_u *)"put",           RANGE+BANG+REGSTR+TRLBAR},
        !           171:    {(char_u *)"preserve",      TRLBAR},
        !           172:    {(char_u *)"previous",      EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
        !           173:    {(char_u *)"pwd",           TRLBAR},
        !           174:    {(char_u *)"quit",          BANG+TRLBAR},
        !           175:    {(char_u *)"qall",          BANG+TRLBAR},
        !           176:    {(char_u *)"read",          BANG+RANGE+NAMEDF+TRLBAR+ZEROR},
        !           177:    {(char_u *)"rewind",        EXTRA+BANG+EDITCMD+TRLBAR},
        !           178:    {(char_u *)"recover",       BANG+FILE1+TRLBAR},
        !           179:    {(char_u *)"redo",          TRLBAR},
        !           180:    {(char_u *)"registers",     EXTRA+NOTRLCOM+TRLBAR},
        !           181:    {(char_u *)"resize",        TRLBAR+WORD1},
        !           182:    {(char_u *)"retab",         TRLBAR+RANGE+DFLALL+BANG+WORD1},
        !           183:    {(char_u *)"right",         TRLBAR+RANGE+EXTRA},
        !           184:    {(char_u *)"rviminfo",      BANG+FILE1+TRLBAR},         /* only when VIMINFO defined */
        !           185:    {(char_u *)"substitute",    RANGE+EXTRA},
        !           186:    {(char_u *)"sargument",     BANG+RANGE+NOTADR+COUNT+EXTRA+EDITCMD+TRLBAR},
        !           187:    {(char_u *)"sall",          RANGE+NOTADR+COUNT+TRLBAR},
        !           188:    {(char_u *)"sbuffer",       RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR},
        !           189:    {(char_u *)"sball",         RANGE+NOTADR+COUNT+TRLBAR},
        !           190:    {(char_u *)"sbmodified",    RANGE+NOTADR+COUNT+TRLBAR},
        !           191:    {(char_u *)"sbnext",        RANGE+NOTADR+COUNT+TRLBAR},
        !           192:    {(char_u *)"sbNext",        RANGE+NOTADR+COUNT+TRLBAR},
        !           193:    {(char_u *)"sbprevious",    RANGE+NOTADR+COUNT+TRLBAR},
        !           194:    {(char_u *)"sbrewind",      TRLBAR},
        !           195:    {(char_u *)"sblast",        TRLBAR},
        !           196:    {(char_u *)"suspend",       TRLBAR+BANG},
        !           197:    {(char_u *)"set",           EXTRA+TRLBAR},
        !           198:    {(char_u *)"shell",         TRLBAR},
        !           199:    {(char_u *)"sleep",         RANGE+COUNT+NOTADR+TRLBAR},
        !           200:    {(char_u *)"source",        BANG+NAMEDF+NEEDARG+TRLBAR},
        !           201:    {(char_u *)"split",         BANG+FILE1+RANGE+NOTADR+EDITCMD+TRLBAR},
        !           202:    {(char_u *)"snext",         RANGE+NOTADR+BANG+NAMEDFS+EDITCMD+TRLBAR},
        !           203:    {(char_u *)"sNext",         EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
        !           204:    {(char_u *)"sprevious",     EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+TRLBAR},
        !           205:    {(char_u *)"srewind",       EXTRA+BANG+EDITCMD+TRLBAR},
        !           206:    {(char_u *)"slast",         EXTRA+BANG+EDITCMD+TRLBAR},
        !           207:    {(char_u *)"stop",          TRLBAR+BANG},
        !           208:    {(char_u *)"stag",          RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR},
        !           209:    {(char_u *)"sunhide",       RANGE+NOTADR+COUNT+TRLBAR},
        !           210:    {(char_u *)"sview",         NEEDARG+RANGE+BANG+FILE1+EDITCMD+TRLBAR},
        !           211:    {(char_u *)"swapname",      TRLBAR},
        !           212:    {(char_u *)"t",             RANGE+EXTRA+TRLBAR},
        !           213:    {(char_u *)"tag",           RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR},
        !           214:    {(char_u *)"tags",          TRLBAR},
        !           215:    {(char_u *)"undo",          TRLBAR},
        !           216:    {(char_u *)"unabbreviate",  EXTRA+TRLBAR+USECTRLV},
        !           217:    {(char_u *)"unhide",        RANGE+NOTADR+COUNT+TRLBAR},
        !           218:    {(char_u *)"unmap",         BANG+EXTRA+TRLBAR+USECTRLV},
        !           219:    {(char_u *)"unmenu",        BANG+EXTRA+TRLBAR+USECTRLV},
        !           220:    {(char_u *)"vglobal",       RANGE+EXTRA+DFLALL},
        !           221:    {(char_u *)"version",       EXTRA+TRLBAR},
        !           222:    {(char_u *)"visual",        RANGE+BANG+FILE1+EDITCMD+TRLBAR},
        !           223:    {(char_u *)"view",          RANGE+BANG+FILE1+EDITCMD+TRLBAR},
        !           224:    {(char_u *)"vmap",          EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           225:    {(char_u *)"vmapclear",     TRLBAR},
        !           226:    {(char_u *)"vmenu",         EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           227:    {(char_u *)"vnoremap",      EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           228:    {(char_u *)"vnoremenu",     EXTRA+TRLBAR+NOTRLCOM+USECTRLV},
        !           229:    {(char_u *)"vunmap",        EXTRA+TRLBAR+USECTRLV},
        !           230:    {(char_u *)"vunmenu",       EXTRA+TRLBAR+USECTRLV},
        !           231:    {(char_u *)"write",         RANGE+BANG+FILE1+DFLALL+TRLBAR},
        !           232:    {(char_u *)"wnext",         RANGE+NOTADR+BANG+FILE1+TRLBAR},
        !           233:    {(char_u *)"wNext",         RANGE+NOTADR+BANG+FILE1+TRLBAR},
        !           234:    {(char_u *)"wprevious",     RANGE+NOTADR+BANG+FILE1+TRLBAR},
        !           235:    {(char_u *)"winsize",       EXTRA+NEEDARG+TRLBAR},
        !           236:    {(char_u *)"wq",            RANGE+BANG+FILE1+DFLALL+TRLBAR},
        !           237:    {(char_u *)"wall",          BANG+TRLBAR},
        !           238:    {(char_u *)"wqall",         BANG+FILE1+DFLALL+TRLBAR},
        !           239:    {(char_u *)"wviminfo",      BANG+FILE1+TRLBAR},         /* only when VIMINFO defined */
        !           240:    {(char_u *)"xit",           RANGE+BANG+FILE1+DFLALL+TRLBAR},
        !           241:    {(char_u *)"xall",          BANG+TRLBAR},
        !           242:    {(char_u *)"yank",          RANGE+REGSTR+COUNT+TRLBAR},
        !           243:    {(char_u *)"z",             RANGE+COUNT+TRLBAR},        /* not supported */
        !           244:    {(char_u *)"@",             RANGE+EXTRA+TRLBAR},
        !           245:    {(char_u *)"!",             RANGE+BANG+NAMEDFS},
        !           246:    {(char_u *)"<",             RANGE+COUNT+TRLBAR},
        !           247:    {(char_u *)">",             RANGE+COUNT+TRLBAR},
        !           248:    {(char_u *)"=",             RANGE+TRLBAR},
        !           249:    {(char_u *)"&",             RANGE+EXTRA},
        !           250:    {(char_u *)"~",             RANGE+EXTRA}
        !           251: |
        !           252: };
        !           253: |