582 lines
10 KiB
C
582 lines
10 KiB
C
typedef enum {
|
|
FUNCTION = 0,
|
|
ENDFUNCTION = 1,
|
|
FOR = 2,
|
|
ENDFOR = 3,
|
|
WHILE = 4,
|
|
ENDWHILE = 5,
|
|
IF = 6,
|
|
ELSEIF = 7,
|
|
ELSE = 8,
|
|
ENDIF = 9,
|
|
TRY = 10,
|
|
CATCH = 11,
|
|
CNEXT = 12,
|
|
CPREVIOUS = 13,
|
|
CNNEXT = 14,
|
|
FINALLY = 15,
|
|
ENDTRY = 16,
|
|
CONST = 17,
|
|
NORMAL = 18,
|
|
RETURN = 19,
|
|
PERL = 20,
|
|
LUA = 21,
|
|
RUBY = 22,
|
|
PYTHON = 23,
|
|
THROW = 24,
|
|
EXECUTE = 25,
|
|
AUTOCMD = 26,
|
|
SILENT = 27,
|
|
ECHO = 28,
|
|
ECHON = 29,
|
|
ECHOHL = 30,
|
|
ECHOMSG = 31,
|
|
ECHOERR = 32,
|
|
MAP = 33,
|
|
NMAP = 34,
|
|
VMAP = 35,
|
|
XMAP = 36,
|
|
SMAP = 37,
|
|
OMAP = 38,
|
|
IMAP = 39,
|
|
LMAP = 40,
|
|
CMAP = 41,
|
|
TMAP = 42,
|
|
NOREMAP = 43,
|
|
NNOREMAP = 44,
|
|
VNOREMAP = 45,
|
|
XNOREMAP = 46,
|
|
SNOREMAP = 47,
|
|
ONOREMAP = 48,
|
|
INOREMAP = 49,
|
|
LNOREMAP = 50,
|
|
CNOREMAP = 51,
|
|
TNOREMAP = 52,
|
|
AUGROUP = 53,
|
|
HIGHLIGHT = 54,
|
|
DEFAULT = 55,
|
|
SYNTAX = 56,
|
|
SET = 57,
|
|
SETLOCAL = 58,
|
|
SETFILETYPE = 59,
|
|
BROWSE = 60,
|
|
OPTIONS = 61,
|
|
STARTINSERT = 62,
|
|
STOPINSERT = 63,
|
|
SCRIPTENCODING = 64,
|
|
SOURCE = 65,
|
|
GLOBAL = 66,
|
|
COLORSCHEME = 67,
|
|
COMMAND = 68,
|
|
COMCLEAR = 69,
|
|
DELCOMMAND = 70,
|
|
RUNTIME = 71,
|
|
WINCMD = 72,
|
|
SIGN = 73,
|
|
FILETYPE = 74,
|
|
LET = 75,
|
|
UNLET = 76,
|
|
CALL = 77,
|
|
BREAK = 78,
|
|
CONTINUE = 79,
|
|
TAB = 80,
|
|
VERTICAL = 81,
|
|
LEFTABOVE = 82,
|
|
ABOVELEFT = 83,
|
|
RIGHTBELOWS = 84,
|
|
BELOWRIGHT = 85,
|
|
TOPLEFT = 86,
|
|
BOTRIGHT = 87,
|
|
EDIT = 88,
|
|
ENEW = 89,
|
|
FIND = 90,
|
|
EX = 91,
|
|
VISUAL = 92,
|
|
VIEW = 93,
|
|
EVAL = 94,
|
|
SUBSTITUTE = 95,
|
|
UNKNOWN_COMMAND
|
|
} kwid;
|
|
|
|
keyword keywords[] = {
|
|
[FUNCTION] = {
|
|
.mandat = "fu",
|
|
.opt = "nction",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENDFUNCTION] = {
|
|
.mandat = "endf",
|
|
.opt = "unction",
|
|
.ignore_comments_after = false
|
|
},
|
|
[FOR] = {
|
|
.mandat = "for",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENDFOR] = {
|
|
.mandat = "endfo",
|
|
.opt = "r",
|
|
.ignore_comments_after = false
|
|
},
|
|
[WHILE] = {
|
|
.mandat = "wh",
|
|
.opt = "ile",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENDWHILE] = {
|
|
.mandat = "endw",
|
|
.opt = "hile",
|
|
.ignore_comments_after = false
|
|
},
|
|
[IF] = {
|
|
.mandat = "if",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ELSEIF] = {
|
|
.mandat = "elsei",
|
|
.opt = "f",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ELSE] = {
|
|
.mandat = "el",
|
|
.opt = "se",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENDIF] = {
|
|
.mandat = "en",
|
|
.opt = "dif",
|
|
.ignore_comments_after = false
|
|
},
|
|
[TRY] = {
|
|
.mandat = "try",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CATCH] = {
|
|
.mandat = "cat",
|
|
.opt = "ch",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CNEXT] = {
|
|
.mandat = "cn",
|
|
.opt = "ext",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CPREVIOUS] = {
|
|
.mandat = "cp",
|
|
.opt = "revious",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CNNEXT] = {
|
|
.mandat = "cN",
|
|
.opt = "ext",
|
|
.ignore_comments_after = false
|
|
},
|
|
[FINALLY] = {
|
|
.mandat = "fina",
|
|
.opt = "lly",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENDTRY] = {
|
|
.mandat = "endt",
|
|
.opt = "ry",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CONST] = {
|
|
.mandat = "cons",
|
|
.opt = "t",
|
|
.ignore_comments_after = false
|
|
},
|
|
[NORMAL] = {
|
|
.mandat = "norm",
|
|
.opt = "al",
|
|
.ignore_comments_after = false
|
|
},
|
|
[RETURN] = {
|
|
.mandat = "retu",
|
|
.opt = "rn",
|
|
.ignore_comments_after = false
|
|
},
|
|
[PERL] = {
|
|
.mandat = "perl",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[LUA] = {
|
|
.mandat = "lua",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[RUBY] = {
|
|
.mandat = "rub",
|
|
.opt = "y",
|
|
.ignore_comments_after = false
|
|
},
|
|
[PYTHON] = {
|
|
.mandat = "py",
|
|
.opt = "thon",
|
|
.ignore_comments_after = false
|
|
},
|
|
[THROW] = {
|
|
.mandat = "th",
|
|
.opt = "row",
|
|
.ignore_comments_after = false
|
|
},
|
|
[EXECUTE] = {
|
|
.mandat = "exe",
|
|
.opt = "cute",
|
|
.ignore_comments_after = false
|
|
},
|
|
[AUTOCMD] = {
|
|
.mandat = "au",
|
|
.opt = "tocmd",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SILENT] = {
|
|
.mandat = "sil",
|
|
.opt = "ent",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ECHO] = {
|
|
.mandat = "ec",
|
|
.opt = "ho",
|
|
.ignore_comments_after = true
|
|
},
|
|
[ECHON] = {
|
|
.mandat = "echon",
|
|
.opt = "",
|
|
.ignore_comments_after = true
|
|
},
|
|
[ECHOHL] = {
|
|
.mandat = "echoh",
|
|
.opt = "l",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ECHOMSG] = {
|
|
.mandat = "echom",
|
|
.opt = "sg",
|
|
.ignore_comments_after = true
|
|
},
|
|
[ECHOERR] = {
|
|
.mandat = "echoe",
|
|
.opt = "rr",
|
|
.ignore_comments_after = true
|
|
},
|
|
[MAP] = {
|
|
.mandat = "map",
|
|
.opt = "",
|
|
.ignore_comments_after = true
|
|
},
|
|
[NMAP] = {
|
|
.mandat = "nm",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[VMAP] = {
|
|
.mandat = "vm",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[XMAP] = {
|
|
.mandat = "xm",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[SMAP] = {
|
|
.mandat = "smap",
|
|
.opt = "",
|
|
.ignore_comments_after = true
|
|
},
|
|
[OMAP] = {
|
|
.mandat = "om",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[IMAP] = {
|
|
.mandat = "im",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[LMAP] = {
|
|
.mandat = "lm",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[CMAP] = {
|
|
.mandat = "cm",
|
|
.opt = "ap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[TMAP] = {
|
|
.mandat = "tma",
|
|
.opt = "p",
|
|
.ignore_comments_after = true
|
|
},
|
|
[NOREMAP] = {
|
|
.mandat = "no",
|
|
.opt = "remap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[NNOREMAP] = {
|
|
.mandat = "nn",
|
|
.opt = "oremap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[VNOREMAP] = {
|
|
.mandat = "vn",
|
|
.opt = "oremap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[XNOREMAP] = {
|
|
.mandat = "xn",
|
|
.opt = "oremap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[SNOREMAP] = {
|
|
.mandat = "snor",
|
|
.opt = "emap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[ONOREMAP] = {
|
|
.mandat = "ono",
|
|
.opt = "remap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[INOREMAP] = {
|
|
.mandat = "ino",
|
|
.opt = "remap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[LNOREMAP] = {
|
|
.mandat = "ln",
|
|
.opt = "oremap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[CNOREMAP] = {
|
|
.mandat = "cno",
|
|
.opt = "remap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[TNOREMAP] = {
|
|
.mandat = "tno",
|
|
.opt = "remap",
|
|
.ignore_comments_after = true
|
|
},
|
|
[AUGROUP] = {
|
|
.mandat = "aug",
|
|
.opt = "roup",
|
|
.ignore_comments_after = true
|
|
},
|
|
[HIGHLIGHT] = {
|
|
.mandat = "hi",
|
|
.opt = "ghlight",
|
|
.ignore_comments_after = false
|
|
},
|
|
[DEFAULT] = {
|
|
.mandat = "def",
|
|
.opt = "ault",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SYNTAX] = {
|
|
.mandat = "sy",
|
|
.opt = "ntax",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SET] = {
|
|
.mandat = "se",
|
|
.opt = "t",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SETLOCAL] = {
|
|
.mandat = "setl",
|
|
.opt = "ocal",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SETFILETYPE] = {
|
|
.mandat = "setf",
|
|
.opt = "iletype",
|
|
.ignore_comments_after = false
|
|
},
|
|
[BROWSE] = {
|
|
.mandat = "bro",
|
|
.opt = "wse",
|
|
.ignore_comments_after = false
|
|
},
|
|
[OPTIONS] = {
|
|
.mandat = "opt",
|
|
.opt = "ions",
|
|
.ignore_comments_after = false
|
|
},
|
|
[STARTINSERT] = {
|
|
.mandat = "star",
|
|
.opt = "tinsert",
|
|
.ignore_comments_after = false
|
|
},
|
|
[STOPINSERT] = {
|
|
.mandat = "stopi",
|
|
.opt = "nsert",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SCRIPTENCODING] = {
|
|
.mandat = "scripte",
|
|
.opt = "ncoding",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SOURCE] = {
|
|
.mandat = "so",
|
|
.opt = "urce",
|
|
.ignore_comments_after = false
|
|
},
|
|
[GLOBAL] = {
|
|
.mandat = "g",
|
|
.opt = "lobal",
|
|
.ignore_comments_after = false
|
|
},
|
|
[COLORSCHEME] = {
|
|
.mandat = "colo",
|
|
.opt = "rscheme",
|
|
.ignore_comments_after = false
|
|
},
|
|
[COMMAND] = {
|
|
.mandat = "com",
|
|
.opt = "mand",
|
|
.ignore_comments_after = false
|
|
},
|
|
[COMCLEAR] = {
|
|
.mandat = "comc",
|
|
.opt = "lear",
|
|
.ignore_comments_after = false
|
|
},
|
|
[DELCOMMAND] = {
|
|
.mandat = "delc",
|
|
.opt = "ommand",
|
|
.ignore_comments_after = false
|
|
},
|
|
[RUNTIME] = {
|
|
.mandat = "ru",
|
|
.opt = "ntime",
|
|
.ignore_comments_after = false
|
|
},
|
|
[WINCMD] = {
|
|
.mandat = "winc",
|
|
.opt = "md",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SIGN] = {
|
|
.mandat = "sig",
|
|
.opt = "n",
|
|
.ignore_comments_after = false
|
|
},
|
|
[FILETYPE] = {
|
|
.mandat = "filet",
|
|
.opt = "ype",
|
|
.ignore_comments_after = false
|
|
},
|
|
[LET] = {
|
|
.mandat = "let",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[UNLET] = {
|
|
.mandat = "unl",
|
|
.opt = "et",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CALL] = {
|
|
.mandat = "cal",
|
|
.opt = "l",
|
|
.ignore_comments_after = false
|
|
},
|
|
[BREAK] = {
|
|
.mandat = "brea",
|
|
.opt = "k",
|
|
.ignore_comments_after = false
|
|
},
|
|
[CONTINUE] = {
|
|
.mandat = "con",
|
|
.opt = "tinue",
|
|
.ignore_comments_after = false
|
|
},
|
|
[TAB] = {
|
|
.mandat = "tab",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[VERTICAL] = {
|
|
.mandat = "vert",
|
|
.opt = "ical",
|
|
.ignore_comments_after = false
|
|
},
|
|
[LEFTABOVE] = {
|
|
.mandat = "lefta",
|
|
.opt = "bove",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ABOVELEFT] = {
|
|
.mandat = "abo",
|
|
.opt = "veleft",
|
|
.ignore_comments_after = false
|
|
},
|
|
[RIGHTBELOWS] = {
|
|
.mandat = "rightb",
|
|
.opt = "elow",
|
|
.ignore_comments_after = false
|
|
},
|
|
[BELOWRIGHT] = {
|
|
.mandat = "bel",
|
|
.opt = "owright",
|
|
.ignore_comments_after = false
|
|
},
|
|
[TOPLEFT] = {
|
|
.mandat = "to",
|
|
.opt = "pleft",
|
|
.ignore_comments_after = false
|
|
},
|
|
[BOTRIGHT] = {
|
|
.mandat = "bo",
|
|
.opt = "tright",
|
|
.ignore_comments_after = false
|
|
},
|
|
[EDIT] = {
|
|
.mandat = "e",
|
|
.opt = "dit",
|
|
.ignore_comments_after = false
|
|
},
|
|
[ENEW] = {
|
|
.mandat = "ene",
|
|
.opt = "w",
|
|
.ignore_comments_after = false
|
|
},
|
|
[FIND] = {
|
|
.mandat = "fin",
|
|
.opt = "d",
|
|
.ignore_comments_after = false
|
|
},
|
|
[EX] = {
|
|
.mandat = "ex",
|
|
.opt = "",
|
|
.ignore_comments_after = false
|
|
},
|
|
[VISUAL] = {
|
|
.mandat = "vi",
|
|
.opt = "sual",
|
|
.ignore_comments_after = false
|
|
},
|
|
[VIEW] = {
|
|
.mandat = "vie",
|
|
.opt = "w",
|
|
.ignore_comments_after = false
|
|
},
|
|
[EVAL] = {
|
|
.mandat = "ev",
|
|
.opt = "al",
|
|
.ignore_comments_after = false
|
|
},
|
|
[SUBSTITUTE] = {
|
|
.mandat = "s",
|
|
.opt = "ubstitute",
|
|
.ignore_comments_after = false
|
|
},
|
|
}; |