From 8ed2dbf6e2802516501c11e72e5d6d977e6a07f3 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sat, 20 Sep 2014 20:11:19 +0400 Subject: [PATCH 1/8] fileio: Move event definitions to the generator script --- scripts/gen_events.lua | 65 +++++++++++++++++++++++ src/nvim/CMakeLists.txt | 12 +++++ src/nvim/auevents.lua | 98 ++++++++++++++++++++++++++++++++++ src/nvim/fileio.c | 115 ++-------------------------------------- src/nvim/fileio.h | 96 +-------------------------------- 5 files changed, 181 insertions(+), 205 deletions(-) create mode 100644 scripts/gen_events.lua create mode 100644 src/nvim/auevents.lua diff --git a/scripts/gen_events.lua b/scripts/gen_events.lua new file mode 100644 index 0000000000..75e0b3da3a --- /dev/null +++ b/scripts/gen_events.lua @@ -0,0 +1,65 @@ +if arg[1] == '--help' then + print('Usage: gen_events.lua src/nvim enum_file event_names_file') + os.exit(0) +end + +local nvimsrcdir = arg[1] +local fileio_enum_file = arg[2] +local names_file = arg[3] + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local auevents = require('auevents') +local events = auevents.events +local aliases = auevents.aliases + +enum_tgt = io.open(fileio_enum_file, 'w') +names_tgt = io.open(names_file, 'w') + +enum_tgt:write('typedef enum auto_event {') +names_tgt:write([[ +static const struct event_name { + size_t len; + char *name; + event_T event; +} event_names[] = {]]) + +for i, event in ipairs(events) do + if i > 1 then + comma = ',\n' + else + comma = '\n' + end + enum_tgt:write(('%s EVENT_%s = %u'):format(comma, event:upper(), i - 1)) + names_tgt:write(('%s {%u, "%s", EVENT_%s}'):format(comma, #event, event, event:upper())) +end + +for alias, event in pairs(aliases) do + names_tgt:write((',\n {%u, "%s", EVENT_%s}'):format(#alias, alias, event:upper())) +end + +names_tgt:write(',\n {0, NULL, (event_T)0}') + +enum_tgt:write('\n} event_T;\n') +names_tgt:write('\n};\n') + +enum_tgt:write(('\n#define NUM_EVENTS %u\n'):format(#events)) +names_tgt:write('\nstatic AutoPat *first_autopat[NUM_EVENTS] = {\n ') +line_len = 1 +for i = 1,((#events) - 1) do + line_len = line_len + #(' NULL,') + if line_len > 80 then + names_tgt:write('\n ') + line_len = 1 + #(' NULL,') + end + names_tgt:write(' NULL,') +end +if line_len + #(' NULL') > 80 then + names_tgt:write('\n NULL') +else + names_tgt:write(' NULL') +end +names_tgt:write('\n};\n') + +enum_tgt:close() +names_tgt:close() diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 4448859b64..ee4e447c9b 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -18,7 +18,11 @@ set(HEADER_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gendeclarations.lua) set(GENERATED_INCLUDES_DIR ${PROJECT_BINARY_DIR}/include) set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h) set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h) +set(GENERATED_EVENTS_ENUM ${GENERATED_INCLUDES_DIR}/auevents_enum.generated.h) +set(GENERATED_EVENTS_NAMES_MAP ${GENERATED_DIR}/auevents_name_map.generated.h) set(EX_CMDS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genex_cmds.lua) +set(EVENTS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gen_events.lua) +set(EVENTS_LIST_FILE ${PROJECT_SOURCE_DIR}/src/nvim/auevents.lua) set(EX_CMDS_DEFS_FILE ${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua) include_directories(${GENERATED_DIR}) @@ -149,6 +153,8 @@ list(APPEND NEOVIM_GENERATED_SOURCES "${MSGPACK_DISPATCH}" "${GENERATED_EX_CMDS_ENUM}" "${GENERATED_EX_CMDS_DEFS}" + "${GENERATED_EVENTS_ENUM}" + "${GENERATED_EVENTS_NAMES_MAP}" ) add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS} @@ -157,6 +163,12 @@ add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS} DEPENDS ${EX_CMDS_GENERATOR} ${EX_CMDS_DEFS_FILE} ) +add_custom_command(OUTPUT ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP} + COMMAND ${LUA_PRG} ${EVENTS_GENERATOR} + ${PROJECT_SOURCE_DIR}/src/nvim ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP} + DEPENDS ${EVENTS_GENERATOR} ${EVENTS_LIST_FILE} +) + # Our dependencies come first. if (LibIntl_FOUND) diff --git a/src/nvim/auevents.lua b/src/nvim/auevents.lua new file mode 100644 index 0000000000..df8e907348 --- /dev/null +++ b/src/nvim/auevents.lua @@ -0,0 +1,98 @@ +return { + events = { + 'BufAdd', -- after adding a buffer to the buffer list + 'BufDelete', -- deleting a buffer from the buffer list + 'BufEnter', -- after entering a buffer + 'BufFilePost', -- after renaming a buffer + 'BufFilePre', -- before renaming a buffer + 'BufHidden', -- just after buffer becomes hidden + 'BufLeave', -- before leaving a buffer + 'BufNew', -- after creating any buffer + 'BufNewFile', -- when creating a buffer for a new file + 'BufReadCmd', -- read buffer using command + 'BufReadPost', -- after reading a buffer + 'BufReadPre', -- before reading a buffer + 'BufUnload', -- just before unloading a buffer + 'BufWinEnter', -- after showing a buffer in a window + 'BufWinLeave', -- just after buffer removed from window + 'BufWipeout', -- just before really deleting a buffer + 'BufWriteCmd', -- write buffer using command + 'BufWritePost', -- after writing a buffer + 'BufWritePre', -- before writing a buffer + 'CmdUndefined', -- command undefined + 'CmdWinEnter', -- after entering the cmdline window + 'CmdWinLeave', -- before leaving the cmdline window + 'ColorScheme', -- after loading a colorscheme + 'CompleteDone', -- after finishing insert complete + 'CursorHold', -- cursor in same position for a while + 'CursorHoldI', -- idem, in Insert mode + 'CursorMoved', -- cursor was moved + 'CursorMovedI', -- cursor was moved in Insert mode + 'EncodingChanged', -- after changing the 'encoding' option + 'FileAppendCmd', -- append to a file using command + 'FileAppendPost', -- after appending to a file + 'FileAppendPre', -- before appending to a file + 'FileChangedRO', -- before first change to read-only file + 'FileChangedShell', -- after shell command that changed file + 'FileChangedShellPost', -- after (not) reloading changed file + 'FileReadCmd', -- read from a file using command + 'FileReadPost', -- after reading a file + 'FileReadPre', -- before reading a file + 'FileType', -- new file type detected (user defined) + 'FileWriteCmd', -- write to a file using command + 'FileWritePost', -- after writing a file + 'FileWritePre', -- before writing a file + 'FilterReadPost', -- after reading from a filter + 'FilterReadPre', -- before reading from a filter + 'FilterWritePost', -- after writing to a filter + 'FilterWritePre', -- before writing to a filter + 'FocusGained', -- got the focus + 'FocusLost', -- lost the focus to another app + 'FuncUndefined', -- if calling a function which doesn't exist + 'GUIEnter', -- after starting the GUI + 'GUIFailed', -- after starting the GUI failed + 'InsertChange', -- when changing Insert/Replace mode + 'InsertCharPre', -- before inserting a char + 'InsertEnter', -- when entering Insert mode + 'InsertLeave', -- when leaving Insert mode + 'JobActivity', -- when job sent some data + 'MenuPopup', -- just before popup menu is displayed + 'QuickFixCmdPost', -- after :make, :grep etc. + 'QuickFixCmdPre', -- before :make, :grep etc. + 'QuitPre', -- before :quit + 'RemoteReply', -- upon string reception from a remote vim + 'SessionLoadPost', -- after loading a session file + 'ShellCmdPost', -- after ":!cmd" + 'ShellFilterPost', -- after ":1,2!cmd", ":w !cmd", ":r !cmd". + 'SourceCmd', -- sourcing a Vim script using command + 'SourcePre', -- before sourcing a Vim script + 'SpellFileMissing', -- spell file missing + 'StdinReadPost', -- after reading from stdin + 'StdinReadPre', -- before reading from stdin + 'SwapExists', -- found existing swap file + 'Syntax', -- syntax selected + 'TabClosed', -- a tab has closed + 'TabEnter', -- after entering a tab page + 'TabLeave', -- before leaving a tab page + 'TabNew', -- when creating a new tab + 'TabNewEntered', -- after entering a new tab + 'TermChanged', -- after changing 'term' + 'TermResponse', -- after setting "v:termresponse" + 'TermOpen', -- after opening a terminal buffer + 'TextChanged', -- text was modified + 'TextChangedI', -- text was modified in Insert mode + 'User', -- user defined autocommand + 'VimEnter', -- after starting Vim + 'VimLeave', -- before exiting Vim + 'VimLeavePre', -- before exiting Vim and writing .viminfo + 'VimResized', -- after Vim window was resized + 'WinEnter', -- after entering a window + 'WinLeave', -- before leaving a window + }, + aliases = { + BufCreate = 'BufAdd', + BufRead = 'BufReadPost', + BufWrite = 'BufWritePre', + FileEncoding = 'EncodingChanged', + } +} diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 4dfa155e61..dee9680230 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -5121,116 +5121,9 @@ void forward_slash(char_u *fname) /* * Code for automatic commands. */ - - -static struct event_name { - char *name; /* event name */ - event_T event; /* event number */ -} event_names[] = -{ - {"BufAdd", EVENT_BUFADD}, - {"BufCreate", EVENT_BUFADD}, - {"BufDelete", EVENT_BUFDELETE}, - {"BufEnter", EVENT_BUFENTER}, - {"BufFilePost", EVENT_BUFFILEPOST}, - {"BufFilePre", EVENT_BUFFILEPRE}, - {"BufHidden", EVENT_BUFHIDDEN}, - {"BufLeave", EVENT_BUFLEAVE}, - {"BufNew", EVENT_BUFNEW}, - {"BufNewFile", EVENT_BUFNEWFILE}, - {"BufRead", EVENT_BUFREADPOST}, - {"BufReadCmd", EVENT_BUFREADCMD}, - {"BufReadPost", EVENT_BUFREADPOST}, - {"BufReadPre", EVENT_BUFREADPRE}, - {"BufUnload", EVENT_BUFUNLOAD}, - {"BufWinEnter", EVENT_BUFWINENTER}, - {"BufWinLeave", EVENT_BUFWINLEAVE}, - {"BufWipeout", EVENT_BUFWIPEOUT}, - {"BufWrite", EVENT_BUFWRITEPRE}, - {"BufWritePost", EVENT_BUFWRITEPOST}, - {"BufWritePre", EVENT_BUFWRITEPRE}, - {"BufWriteCmd", EVENT_BUFWRITECMD}, - {"CmdwinEnter", EVENT_CMDWINENTER}, - {"CmdwinLeave", EVENT_CMDWINLEAVE}, - {"CmdUndefined", EVENT_CMDUNDEFINED}, - {"ColorScheme", EVENT_COLORSCHEME}, - {"CompleteDone", EVENT_COMPLETEDONE}, - {"CursorHold", EVENT_CURSORHOLD}, - {"CursorHoldI", EVENT_CURSORHOLDI}, - {"CursorMoved", EVENT_CURSORMOVED}, - {"CursorMovedI", EVENT_CURSORMOVEDI}, - {"EncodingChanged", EVENT_ENCODINGCHANGED}, - {"FileEncoding", EVENT_ENCODINGCHANGED}, - {"FileAppendPost", EVENT_FILEAPPENDPOST}, - {"FileAppendPre", EVENT_FILEAPPENDPRE}, - {"FileAppendCmd", EVENT_FILEAPPENDCMD}, - {"FileChangedShell",EVENT_FILECHANGEDSHELL}, - {"FileChangedShellPost",EVENT_FILECHANGEDSHELLPOST}, - {"FileChangedRO", EVENT_FILECHANGEDRO}, - {"FileReadPost", EVENT_FILEREADPOST}, - {"FileReadPre", EVENT_FILEREADPRE}, - {"FileReadCmd", EVENT_FILEREADCMD}, - {"FileType", EVENT_FILETYPE}, - {"FileWritePost", EVENT_FILEWRITEPOST}, - {"FileWritePre", EVENT_FILEWRITEPRE}, - {"FileWriteCmd", EVENT_FILEWRITECMD}, - {"FilterReadPost", EVENT_FILTERREADPOST}, - {"FilterReadPre", EVENT_FILTERREADPRE}, - {"FilterWritePost", EVENT_FILTERWRITEPOST}, - {"FilterWritePre", EVENT_FILTERWRITEPRE}, - {"FocusGained", EVENT_FOCUSGAINED}, - {"FocusLost", EVENT_FOCUSLOST}, - {"FuncUndefined", EVENT_FUNCUNDEFINED}, - {"GUIEnter", EVENT_GUIENTER}, - {"GUIFailed", EVENT_GUIFAILED}, - {"InsertChange", EVENT_INSERTCHANGE}, - {"InsertEnter", EVENT_INSERTENTER}, - {"InsertLeave", EVENT_INSERTLEAVE}, - {"InsertCharPre", EVENT_INSERTCHARPRE}, - {"MenuPopup", EVENT_MENUPOPUP}, - {"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST}, - {"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE}, - {"QuitPre", EVENT_QUITPRE}, - {"RemoteReply", EVENT_REMOTEREPLY}, - {"SessionLoadPost", EVENT_SESSIONLOADPOST}, - {"ShellCmdPost", EVENT_SHELLCMDPOST}, - {"ShellFilterPost", EVENT_SHELLFILTERPOST}, - {"SourcePre", EVENT_SOURCEPRE}, - {"SourceCmd", EVENT_SOURCECMD}, - {"SpellFileMissing",EVENT_SPELLFILEMISSING}, - {"StdinReadPost", EVENT_STDINREADPOST}, - {"StdinReadPre", EVENT_STDINREADPRE}, - {"SwapExists", EVENT_SWAPEXISTS}, - {"Syntax", EVENT_SYNTAX}, - {"TabClosed", EVENT_TABCLOSED}, - {"TabEnter", EVENT_TABENTER}, - {"TabLeave", EVENT_TABLEAVE}, - {"TabNew", EVENT_TABNEW}, - {"TabNewEntered", EVENT_TABNEWENTERED}, - {"TermChanged", EVENT_TERMCHANGED}, - {"TermOpen", EVENT_TERMOPEN}, - {"TermResponse", EVENT_TERMRESPONSE}, - {"TextChanged", EVENT_TEXTCHANGED}, - {"TextChangedI", EVENT_TEXTCHANGEDI}, - {"User", EVENT_USER}, - {"VimEnter", EVENT_VIMENTER}, - {"VimLeave", EVENT_VIMLEAVE}, - {"VimLeavePre", EVENT_VIMLEAVEPRE}, - {"WinEnter", EVENT_WINENTER}, - {"WinLeave", EVENT_WINLEAVE}, - {"VimResized", EVENT_VIMRESIZED}, - {NULL, (event_T)0} -}; - -static AutoPat *first_autopat[NUM_EVENTS] = -{ - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL -}; +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "auevents_name_map.generated.h" +#endif static AutoPatCmd *active_apc_list = NULL; /* stack of active autocommands */ @@ -5526,7 +5419,7 @@ static event_T event_name2nr(char_u *start, char_u **end) for (p = start; *p && !ascii_iswhite(*p) && *p != ','; ++p) ; for (i = 0; event_names[i].name != NULL; ++i) { - len = (int)STRLEN(event_names[i].name); + len = (int) event_names[i].len; if (len == p - start && STRNICMP(event_names[i].name, start, len) == 0) break; } diff --git a/src/nvim/fileio.h b/src/nvim/fileio.h index 3b37d359d7..d93f3f3eb3 100644 --- a/src/nvim/fileio.h +++ b/src/nvim/fileio.h @@ -12,100 +12,6 @@ #define READ_DUMMY 0x10 /* reading into a dummy buffer */ #define READ_KEEP_UNDO 0x20 /* keep undo info*/ -/* - * Events for autocommands. - */ -typedef enum auto_event { - EVENT_BUFADD = 0, /* after adding a buffer to the buffer list */ - EVENT_BUFNEW, /* after creating any buffer */ - EVENT_BUFDELETE, /* deleting a buffer from the buffer list */ - EVENT_BUFWIPEOUT, /* just before really deleting a buffer */ - EVENT_BUFENTER, /* after entering a buffer */ - EVENT_BUFFILEPOST, /* after renaming a buffer */ - EVENT_BUFFILEPRE, /* before renaming a buffer */ - EVENT_BUFLEAVE, /* before leaving a buffer */ - EVENT_BUFNEWFILE, /* when creating a buffer for a new file */ - EVENT_BUFREADPOST, /* after reading a buffer */ - EVENT_BUFREADPRE, /* before reading a buffer */ - EVENT_BUFREADCMD, /* read buffer using command */ - EVENT_BUFUNLOAD, /* just before unloading a buffer */ - EVENT_BUFHIDDEN, /* just after buffer becomes hidden */ - EVENT_BUFWINENTER, /* after showing a buffer in a window */ - EVENT_BUFWINLEAVE, /* just after buffer removed from window */ - EVENT_BUFWRITEPOST, /* after writing a buffer */ - EVENT_BUFWRITEPRE, /* before writing a buffer */ - EVENT_BUFWRITECMD, /* write buffer using command */ - EVENT_CMDWINENTER, /* after entering the cmdline window */ - EVENT_CMDWINLEAVE, /* before leaving the cmdline window */ - EVENT_COLORSCHEME, /* after loading a colorscheme */ - EVENT_COMPLETEDONE, /* after finishing insert complete */ - EVENT_FILEAPPENDPOST, /* after appending to a file */ - EVENT_FILEAPPENDPRE, /* before appending to a file */ - EVENT_FILEAPPENDCMD, /* append to a file using command */ - EVENT_FILECHANGEDSHELL, /* after shell command that changed file */ - EVENT_FILECHANGEDSHELLPOST, /* after (not) reloading changed file */ - EVENT_FILECHANGEDRO, /* before first change to read-only file */ - EVENT_FILEREADPOST, /* after reading a file */ - EVENT_FILEREADPRE, /* before reading a file */ - EVENT_FILEREADCMD, /* read from a file using command */ - EVENT_FILETYPE, /* new file type detected (user defined) */ - EVENT_FILEWRITEPOST, /* after writing a file */ - EVENT_FILEWRITEPRE, /* before writing a file */ - EVENT_FILEWRITECMD, /* write to a file using command */ - EVENT_FILTERREADPOST, /* after reading from a filter */ - EVENT_FILTERREADPRE, /* before reading from a filter */ - EVENT_FILTERWRITEPOST, /* after writing to a filter */ - EVENT_FILTERWRITEPRE, /* before writing to a filter */ - EVENT_FOCUSGAINED, /* got the focus */ - EVENT_FOCUSLOST, /* lost the focus to another app */ - EVENT_GUIENTER, /* after starting the GUI */ - EVENT_GUIFAILED, /* after starting the GUI failed */ - EVENT_INSERTCHANGE, /* when changing Insert/Replace mode */ - EVENT_INSERTENTER, /* when entering Insert mode */ - EVENT_INSERTLEAVE, /* when leaving Insert mode */ - EVENT_MENUPOPUP, /* just before popup menu is displayed */ - EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc. */ - EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc. */ - EVENT_QUITPRE, /* before :quit */ - EVENT_SESSIONLOADPOST, /* after loading a session file */ - EVENT_STDINREADPOST, /* after reading from stdin */ - EVENT_STDINREADPRE, /* before reading from stdin */ - EVENT_SYNTAX, /* syntax selected */ - EVENT_TERMCHANGED, /* after changing 'term' */ - EVENT_TERMRESPONSE, /* after setting "v:termresponse" */ - EVENT_USER, /* user defined autocommand */ - EVENT_VIMENTER, /* after starting Vim */ - EVENT_VIMLEAVE, /* before exiting Vim */ - EVENT_VIMLEAVEPRE, /* before exiting Vim and writing .viminfo */ - EVENT_VIMRESIZED, /* after Vim window was resized */ - EVENT_WINENTER, /* after entering a window */ - EVENT_WINLEAVE, /* before leaving a window */ - EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */ - EVENT_INSERTCHARPRE, /* before inserting a char */ - EVENT_CURSORHOLD, /* cursor in same position for a while */ - EVENT_CURSORHOLDI, /* idem, in Insert mode */ - EVENT_FUNCUNDEFINED, /* if calling a function which doesn't exist */ - EVENT_REMOTEREPLY, /* upon string reception from a remote vim */ - EVENT_SWAPEXISTS, /* found existing swap file */ - EVENT_SOURCEPRE, /* before sourcing a Vim script */ - EVENT_SOURCECMD, /* sourcing a Vim script using command */ - EVENT_SPELLFILEMISSING, /* spell file missing */ - EVENT_CURSORMOVED, /* cursor was moved */ - EVENT_CURSORMOVEDI, /* cursor was moved in Insert mode */ - EVENT_TABCLOSED, /* a tab has closed */ - EVENT_TABLEAVE, /* before leaving a tab page */ - EVENT_TABENTER, /* after entering a tab page */ - EVENT_TABNEW, /* when creating a new tab */ - EVENT_TABNEWENTERED, /* after entering a new tab */ - EVENT_SHELLCMDPOST, /* after ":!cmd" */ - EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */ - EVENT_TERMOPEN, // after opening a terminal buffer - EVENT_TEXTCHANGED, /* text was modified */ - EVENT_TEXTCHANGEDI, /* text was modified in Insert mode*/ - EVENT_CMDUNDEFINED, ///< command undefined - NUM_EVENTS /* MUST be the last one */ -} event_T; - /* * Struct to save values in before executing autocommands for a buffer that is * not the current buffer. @@ -120,6 +26,8 @@ typedef struct { } aco_save_T; #ifdef INCLUDE_GENERATED_DECLARATIONS +// Events for autocommands +# include "auevents_enum.generated.h" # include "fileio.h.generated.h" #endif #endif // NVIM_FILEIO_H From 7f6c14ed54a46e822b80134d39a89f97523a2706 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sat, 28 Mar 2015 23:50:03 +0300 Subject: [PATCH 2/8] options: Move option definitions to options.lua --- scripts/genoptions.lua | 183 +++ src/nvim/CMakeLists.txt | 10 + src/nvim/option.c | 1414 +------------------- src/nvim/options.lua | 2777 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 2973 insertions(+), 1411 deletions(-) create mode 100644 scripts/genoptions.lua create mode 100644 src/nvim/options.lua diff --git a/scripts/genoptions.lua b/scripts/genoptions.lua new file mode 100644 index 0000000000..2859ca1795 --- /dev/null +++ b/scripts/genoptions.lua @@ -0,0 +1,183 @@ +if arg[1] == '--help' then + print('Usage: genoptions.lua src/nvim options_file') + os.exit(0) +end + +local nvimsrcdir = arg[1] +local options_file = arg[2] + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local opt_fd = io.open(options_file, 'w') + +local w = function(s) + if s:match('^ %.') then + opt_fd:write(s .. ',\n') + else + opt_fd:write(s .. '\n') + end +end + +local options = require('options') + +cstr = options.cstr + +local type_flags={ + bool='P_BOOL', + number='P_NUM', + string='P_STRING', +} + +local redraw_flags={ + statuslines='P_RSTAT', + current_window='P_RWIN', + current_buffer='P_RBUF', + all_windows='P_RALL', + everything='P_RCLR', + curswant='P_CURSWANT', +} + +local list_flags={ + comma='P_COMMA', + flags='P_FLAGLIST', + flagscomma='P_COMMA|P_FLAGLIST', +} + +local get_flags = function(o) + local ret = {type_flags[o.type]} + local add_flag = function(f) + ret[1] = ret[1] .. '|' .. f + end + if o.list then + add_flag(list_flags[o.list]) + end + if o.redraw then + for _, r_flag in ipairs(o.redraw) do + add_flag(redraw_flags[r_flag]) + end + end + for _, flag_desc in ipairs({ + {'alloced'}, + {'expand'}, + {'nodefault'}, + {'no_mkrc'}, + {'vi_def'}, + {'vim'}, + {'secure'}, + {'gettext'}, + {'noglob'}, + {'normal_fname_chars', 'P_NFNAME'}, + {'pri_mkrc'}, + {'deny_in_modelines', 'P_NO_ML'}, + {'deny_duplicates', 'P_NODUP'}, + }) do + local key_name = flag_desc[1] + local def_name = flag_desc[2] or ('P_' .. key_name:upper()) + if o[key_name] then + add_flag(def_name) + end + end + return ret[1] +end + +local get_cond +get_cond = function(c, base_string) + local cond_string = base_string or '#if ' + if type(c) == 'table' then + cond_string = cond_string .. get_cond(c[1], '') + for i, subc in ipairs(c) do + if i > 1 then + cond_string = cond_string .. ' && ' .. get_cond(subc, '') + end + end + elseif c:sub(1, 1) == '!' then + cond_string = cond_string .. '!defined(' .. c:sub(2) .. ')' + else + cond_string = cond_string .. 'defined(' .. c .. ')' + end + return cond_string +end + +value_dumpers = { + ['function']=function(v) return v() end, + string=cstr, + boolean=function(v) return v and 'true' or 'false' end, + number=function(v) return ('%iL'):format(v) end, + ['nil']=function(v) return '0L' end, +} + +local get_value = function(v) + return '(char_u *) ' .. value_dumpers[type(v)](v) +end + +local get_defaults = function(d) + return '{' .. get_value(d.vi) .. ', ' .. get_value(d.vim) .. '}' +end + +local defines = {} + +local dump_option = function(i, o) + w(' [' .. ('%u'):format(i - 1) .. ']={') + w(' .fullname=' .. cstr(o.full_name)) + if o.abbreviation then + w(' .shortname=' .. cstr(o.abbreviation)) + end + w(' .flags=' .. get_flags(o)) + if o.enable_if then + w(get_cond(o.enable_if)) + end + if o.varname then + w(' .var=(char_u *)&' .. o.varname) + elseif #o.scope == 1 and o.scope[1] == 'window' then + w(' .var=VAR_WIN') + end + if o.enable_if then + w('#endif') + end + if #o.scope == 1 and o.scope[1] == 'global' then + w(' .indir=PV_NONE') + else + assert (#o.scope == 1 or #o.scope == 2) + assert (#o.scope == 1 or o.scope[1] == 'global') + local min_scope = o.scope[#o.scope] + local varname = o.pv_name or o.varname or ( + 'p_' .. (o.abbreviation or o.full_name)) + local pv_name = ( + 'OPT_' .. min_scope:sub(1, 3):upper() .. '(' .. ( + min_scope:sub(1, 1):upper() .. 'V_' .. varname:sub(3):upper() + ) .. ')' + ) + if #o.scope == 2 then + pv_name = 'OPT_BOTH(' .. pv_name .. ')' + end + defines['PV_' .. varname:sub(3):upper()] = pv_name + w(' .indir=' .. pv_name) + end + if o.defaults then + if o.defaults.condition then + w(get_cond(o.defaults.condition)) + end + w(' .def_val=' .. get_defaults(o.defaults.if_true)) + if o.defaults.condition then + if o.defaults.if_false then + w('#else') + w(' .def_val=' .. get_defaults(o.defaults.if_false)) + end + w('#endif') + end + end + w(' },') +end + +w('static vimoption_T options[] = {') +for i, o in ipairs(options.options) do + dump_option(i, o) +end +w(' [' .. ('%u'):format(#options.options) .. ']={.fullname=NULL}') +w('};') +w('') + +for k, v in pairs(defines) do + w('#define ' .. k .. ' ' .. v) +end +opt_fd:close() diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index ee4e447c9b..d49b8dc416 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -20,10 +20,13 @@ set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h) set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h) set(GENERATED_EVENTS_ENUM ${GENERATED_INCLUDES_DIR}/auevents_enum.generated.h) set(GENERATED_EVENTS_NAMES_MAP ${GENERATED_DIR}/auevents_name_map.generated.h) +set(GENERATED_OPTIONS ${GENERATED_DIR}/options.generated.h) set(EX_CMDS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genex_cmds.lua) set(EVENTS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gen_events.lua) +set(OPTIONS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genoptions.lua) set(EVENTS_LIST_FILE ${PROJECT_SOURCE_DIR}/src/nvim/auevents.lua) set(EX_CMDS_DEFS_FILE ${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua) +set(OPTIONS_LIST_FILE ${PROJECT_SOURCE_DIR}/src/nvim/options.lua) include_directories(${GENERATED_DIR}) include_directories(${GENERATED_INCLUDES_DIR}) @@ -155,6 +158,7 @@ list(APPEND NEOVIM_GENERATED_SOURCES "${GENERATED_EX_CMDS_DEFS}" "${GENERATED_EVENTS_ENUM}" "${GENERATED_EVENTS_NAMES_MAP}" + "${GENERATED_OPTIONS}" ) add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS} @@ -169,6 +173,12 @@ add_custom_command(OUTPUT ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP} DEPENDS ${EVENTS_GENERATOR} ${EVENTS_LIST_FILE} ) +add_custom_command(OUTPUT ${GENERATED_OPTIONS} + COMMAND ${LUA_PRG} ${OPTIONS_GENERATOR} + ${PROJECT_SOURCE_DIR}/src/nvim ${GENERATED_OPTIONS} + DEPENDS ${OPTIONS_GENERATOR} ${OPTIONS_LIST_FILE} +) + # Our dependencies come first. if (LibIntl_FOUND) diff --git a/src/nvim/option.c b/src/nvim/option.c index 94b935fe52..9a375c0675 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -97,121 +97,6 @@ #define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x)) #define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x)) -/* - * Definition of the PV_ values for buffer-local options. - * The BV_ values are defined in option_defs.h. - */ -#define PV_AI OPT_BUF(BV_AI) -#define PV_AR OPT_BOTH(OPT_BUF(BV_AR)) -#define PV_BKC OPT_BOTH(OPT_BUF(BV_BKC)) -# define PV_BH OPT_BUF(BV_BH) -# define PV_BT OPT_BUF(BV_BT) -# define PV_EFM OPT_BOTH(OPT_BUF(BV_EFM)) -# define PV_GP OPT_BOTH(OPT_BUF(BV_GP)) -# define PV_MP OPT_BOTH(OPT_BUF(BV_MP)) -#define PV_BIN OPT_BUF(BV_BIN) -#define PV_BL OPT_BUF(BV_BL) -# define PV_BOMB OPT_BUF(BV_BOMB) -#define PV_CI OPT_BUF(BV_CI) -# define PV_CIN OPT_BUF(BV_CIN) -# define PV_CINK OPT_BUF(BV_CINK) -# define PV_CINO OPT_BUF(BV_CINO) -# define PV_CINW OPT_BUF(BV_CINW) -#define PV_CM OPT_BOTH(OPT_BUF(BV_CM)) -# define PV_CMS OPT_BUF(BV_CMS) -# define PV_COM OPT_BUF(BV_COM) -# define PV_CPT OPT_BUF(BV_CPT) -# define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT)) -# define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR)) -# define PV_CFU OPT_BUF(BV_CFU) -# define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF)) -# define PV_INC OPT_BOTH(OPT_BUF(BV_INC)) -#define PV_EOL OPT_BUF(BV_EOL) -#define PV_EP OPT_BOTH(OPT_BUF(BV_EP)) -#define PV_ET OPT_BUF(BV_ET) -# define PV_FENC OPT_BUF(BV_FENC) -# define PV_FEX OPT_BUF(BV_FEX) -#define PV_FF OPT_BUF(BV_FF) -#define PV_FLP OPT_BUF(BV_FLP) -#define PV_FO OPT_BUF(BV_FO) -# define PV_FT OPT_BUF(BV_FT) -#define PV_IMI OPT_BUF(BV_IMI) -#define PV_IMS OPT_BUF(BV_IMS) -# define PV_INDE OPT_BUF(BV_INDE) -# define PV_INDK OPT_BUF(BV_INDK) -# define PV_INEX OPT_BUF(BV_INEX) -#define PV_INF OPT_BUF(BV_INF) -#define PV_ISK OPT_BUF(BV_ISK) -# define PV_KMAP OPT_BUF(BV_KMAP) -#define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) -# define PV_LISP OPT_BUF(BV_LISP) -# define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) -#define PV_MA OPT_BUF(BV_MA) -#define PV_ML OPT_BUF(BV_ML) -#define PV_MOD OPT_BUF(BV_MOD) -#define PV_MPS OPT_BUF(BV_MPS) -#define PV_NF OPT_BUF(BV_NF) -# define PV_OFU OPT_BUF(BV_OFU) -#define PV_PATH OPT_BOTH(OPT_BUF(BV_PATH)) -#define PV_PI OPT_BUF(BV_PI) -# define PV_QE OPT_BUF(BV_QE) -#define PV_RO OPT_BUF(BV_RO) -# define PV_SI OPT_BUF(BV_SI) -# define PV_SMC OPT_BUF(BV_SMC) -# define PV_SYN OPT_BUF(BV_SYN) -# define PV_SPC OPT_BUF(BV_SPC) -# define PV_SPF OPT_BUF(BV_SPF) -# define PV_SPL OPT_BUF(BV_SPL) -#define PV_STS OPT_BUF(BV_STS) -# define PV_SUA OPT_BUF(BV_SUA) -#define PV_SW OPT_BUF(BV_SW) -#define PV_SWF OPT_BUF(BV_SWF) -#define PV_TAGS OPT_BOTH(OPT_BUF(BV_TAGS)) -#define PV_TS OPT_BUF(BV_TS) -#define PV_TW OPT_BUF(BV_TW) -# define PV_UDF OPT_BUF(BV_UDF) -#define PV_WM OPT_BUF(BV_WM) - -/* - * Definition of the PV_ values for window-local options. - * The WV_ values are defined in option_defs.h. - */ -#define PV_LIST OPT_WIN(WV_LIST) -# define PV_ARAB OPT_WIN(WV_ARAB) -# define PV_BRI OPT_WIN(WV_BRI) -# define PV_BRIOPT OPT_WIN(WV_BRIOPT) -# define PV_DIFF OPT_WIN(WV_DIFF) -# define PV_FDC OPT_WIN(WV_FDC) -# define PV_FEN OPT_WIN(WV_FEN) -# define PV_FDI OPT_WIN(WV_FDI) -# define PV_FDL OPT_WIN(WV_FDL) -# define PV_FDM OPT_WIN(WV_FDM) -# define PV_FML OPT_WIN(WV_FML) -# define PV_FDN OPT_WIN(WV_FDN) -# define PV_FDE OPT_WIN(WV_FDE) -# define PV_FDT OPT_WIN(WV_FDT) -# define PV_FMR OPT_WIN(WV_FMR) -# define PV_LBR OPT_WIN(WV_LBR) -#define PV_NU OPT_WIN(WV_NU) -#define PV_RNU OPT_WIN(WV_RNU) -# define PV_NUW OPT_WIN(WV_NUW) -# define PV_PVW OPT_WIN(WV_PVW) -# define PV_RL OPT_WIN(WV_RL) -# define PV_RLC OPT_WIN(WV_RLC) -# define PV_SCBIND OPT_WIN(WV_SCBIND) -#define PV_SCROLL OPT_WIN(WV_SCROLL) -# define PV_SPELL OPT_WIN(WV_SPELL) -# define PV_CUC OPT_WIN(WV_CUC) -# define PV_CUL OPT_WIN(WV_CUL) -# define PV_CC OPT_WIN(WV_CC) -# define PV_STL OPT_BOTH(OPT_WIN(WV_STL)) -#define PV_UL OPT_BOTH(OPT_BUF(BV_UL)) -# define PV_WFH OPT_WIN(WV_WFH) -# define PV_WFW OPT_WIN(WV_WFW) -#define PV_WRAP OPT_WIN(WV_WRAP) -# define PV_CRBIND OPT_WIN(WV_CRBIND) -# define PV_COCU OPT_WIN(WV_COCU) -# define PV_COLE OPT_WIN(WV_COLE) /* WV_ and BV_ values get typecasted to this for the "indir" field */ typedef enum { @@ -380,1303 +265,10 @@ typedef struct vimoption { * The options with a NULL variable are 'hidden': a set command for them is * ignored and they are not printed. */ -static vimoption_T - options[] = -{ - {"aleph", "al", P_NUM|P_VI_DEF|P_CURSWANT, - (char_u *)&p_aleph, PV_NONE, - { - (char_u *)224L, - (char_u *)0L - } SCRIPTID_INIT}, - {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} - SCRIPTID_INIT}, - {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT, - VAR_WIN, PV_ARAB, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - (char_u *)&p_arshape, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ari, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"altkeymap", "akm", P_BOOL|P_VI_DEF, - (char_u *)&p_altkeymap, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_ambw, PV_NONE, - {(char_u *)"single", (char_u *)0L} - SCRIPTID_INIT}, - {"autochdir", "acd", P_BOOL|P_VI_DEF, - (char_u *)&p_acd, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autoindent", "ai", P_BOOL, - (char_u *)&p_ai, PV_AI, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"autoread", "ar", P_BOOL|P_VIM, - (char_u *)&p_ar, PV_AR, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"autowrite", "aw", P_BOOL|P_VI_DEF, - (char_u *)&p_aw, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autowriteall","awa", P_BOOL|P_VI_DEF, - (char_u *)&p_awa, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"background", "bg", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_bg, PV_NONE, - { - (char_u *)"light", - (char_u *)0L - } SCRIPTID_INIT}, - {"backspace", "bs", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bs, PV_NONE, - {(char_u *)"", (char_u *)"indent,eol,start"} SCRIPTID_INIT}, - {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_bk, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"backupcopy", "bkc", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bkc, PV_BKC, -#ifdef UNIX - {(char_u *)"yes", (char_u *)"auto"} -#else - {(char_u *)"auto", (char_u *)"auto"} -#endif - SCRIPTID_INIT}, - {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_bdir, PV_NONE, - {(char_u *)DFLT_BDIR, (char_u *)0L} SCRIPTID_INIT}, - {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_bex, PV_NONE, - { - (char_u *)"~", - (char_u *)0L - } SCRIPTID_INIT}, - {"backupskip", "bsk", P_STRING|P_VI_DEF|P_COMMA, - (char_u *)&p_bsk, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_bin, PV_BIN, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_bomb, PV_BOMB, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - (char_u *)&p_breakat, PV_NONE, - {(char_u *)" \t!@*-+;:,./?", (char_u *)0L} - SCRIPTID_INIT}, - {"breakindent", "bri", P_BOOL|P_VI_DEF|P_VIM|P_RWIN, - VAR_WIN, PV_BRI, - {(char_u *)FALSE, (char_u *)0L} - SCRIPTID_INIT}, - {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_COMMA|P_NODUP, - VAR_WIN, PV_BRIOPT, - {(char_u *)"", (char_u *)NULL} - SCRIPTID_INIT}, - {"browsedir", "bsdir",P_STRING|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - SCRIPTID_INIT}, - {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bh, PV_BH, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bl, PV_BL, - {(char_u *)1L, (char_u *)0L} - SCRIPTID_INIT}, - {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bt, PV_BT, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"casemap", "cmp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cmp, PV_NONE, - {(char_u *)"internal,keepascii", (char_u *)0L} - SCRIPTID_INIT}, - {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cdpath, PV_NONE, - {(char_u *)",,", (char_u *)0L} - SCRIPTID_INIT}, - {"cedit", NULL, P_STRING, - (char_u *)&p_cedit, PV_NONE, - {(char_u *)"", (char_u *)CTRL_F_STR} - SCRIPTID_INIT}, - {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_ccv, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_cin, PV_CIN, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cink, PV_CINK, - {(char_u *)"0{,0},0),:,0#,!^F,o,O,e", (char_u *)0L} - SCRIPTID_INIT}, - {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cino, PV_CINO, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cinw, PV_CINW, - {(char_u *)"if,else,while,do,for,switch", - (char_u *)0L} - SCRIPTID_INIT}, - {"clipboard", "cb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cb, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_ch, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"cmdwinheight", "cwh", P_NUM|P_VI_DEF, - (char_u *)&p_cwh, PV_NONE, - {(char_u *)7L, (char_u *)0L} SCRIPTID_INIT}, - {"colorcolumn", "cc", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_RWIN, - VAR_WIN, PV_CC, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Columns, PV_NONE, - {(char_u *)DFLT_COLS, (char_u *)0L} SCRIPTID_INIT}, - {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP| - P_CURSWANT, - (char_u *)&p_com, PV_COM, - {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-", - (char_u *)0L} - SCRIPTID_INIT}, - {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, - (char_u *)&p_cms, PV_CMS, - {(char_u *)"/*%s*/", (char_u *)0L} - SCRIPTID_INIT}, - /* P_PRI_MKRC isn't needed here, optval_default() - * always returns TRUE for 'compatible' */ - {"compatible", "cp", P_BOOL|P_RALL, - (char_u *)&p_force_off, PV_NONE, - {(char_u *)TRUE, (char_u *)FALSE} SCRIPTID_INIT}, - {"complete", "cpt", P_STRING|P_ALLOCED|P_COMMA|P_NODUP, - (char_u *)&p_cpt, PV_CPT, - {(char_u *)".,w,b,u,t,i", (char_u *)".,w,b,u,t"} - SCRIPTID_INIT}, - {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF, - VAR_WIN, PV_COCU, - {(char_u *)"", (char_u *)NULL} - SCRIPTID_INIT}, - {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF, - VAR_WIN, PV_COLE, - {(char_u *)0L, (char_u *)0L} - SCRIPTID_INIT}, - {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - (char_u *)&p_cfu, PV_CFU, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"completeopt", "cot", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_cot, PV_NONE, - {(char_u *)"menu,preview", (char_u *)0L} - SCRIPTID_INIT}, - {"confirm", "cf", P_BOOL|P_VI_DEF, - (char_u *)&p_confirm, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ci, PV_CI, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST, - (char_u *)&p_cpo, PV_NONE, - {(char_u *)CPO_VI, (char_u *)CPO_VIM} - SCRIPTID_INIT}, - {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_cspc, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_csprg, PV_NONE, - {(char_u *)"cscope", (char_u *)0L} - SCRIPTID_INIT}, - {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_csqf, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_csre, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_cst, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_csto, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_csverbose, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cursorbind", "crb", P_BOOL|P_VI_DEF, - VAR_WIN, PV_CRBIND, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_CUC, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_CUL, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"debug", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_debug, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, - (char_u *)&p_def, PV_DEF, - {(char_u *)"^\\s*#\\s*define", (char_u *)0L} - SCRIPTID_INIT}, - {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_deco, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_dict, PV_DICT, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB, - VAR_WIN, PV_DIFF, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT, - (char_u *)&p_dex, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"diffopt", "dip", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_COMMA|P_NODUP, - (char_u *)&p_dip, PV_NONE, - {(char_u *)"filler", (char_u *)NULL} - SCRIPTID_INIT}, - {"digraph", "dg", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_dg, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"directory", "dir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_dir, PV_NONE, - {(char_u *)DFLT_DIR, (char_u *)0L} SCRIPTID_INIT}, - {"display", "dy", P_STRING|P_VIM|P_COMMA|P_RALL|P_NODUP, - (char_u *)&p_dy, PV_NONE, - {(char_u *)"", (char_u *)"lastline"} SCRIPTID_INIT}, - {"eadirection", "ead", P_STRING|P_VI_DEF, - (char_u *)&p_ead, PV_NONE, - {(char_u *)"both", (char_u *)0L} - SCRIPTID_INIT}, - {"edcompatible","ed", P_BOOL|P_VI_DEF, - (char_u *)&p_force_off, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR|P_NO_ML, - (char_u *)&p_enc, PV_NONE, - {(char_u *)ENC_DFLT, (char_u *)0L} - SCRIPTID_INIT}, - {"endofline", "eol", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_eol, PV_EOL, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"equalalways", "ea", P_BOOL|P_VI_DEF|P_RALL, - (char_u *)&p_ea, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_ep, PV_EP, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"errorbells", "eb", P_BOOL|P_VI_DEF, - (char_u *)&p_eb, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"errorfile", "ef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_ef, PV_NONE, - {(char_u *)DFLT_ERRORFILE, (char_u *)0L} - SCRIPTID_INIT}, - {"errorformat", "efm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_efm, PV_EFM, - {(char_u *)DFLT_EFM, (char_u *)0L} - SCRIPTID_INIT}, - {"esckeys", "ek", P_BOOL|P_VIM, - (char_u *)&p_ek, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"eventignore", "ei", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_ei, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"expandtab", "et", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_et, PV_ET, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"exrc", "ex", P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_exrc, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF|P_NO_MKRC, - (char_u *)&p_fenc, PV_FENC, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"fileencodings","fencs", P_STRING|P_VI_DEF|P_COMMA, - (char_u *)&p_fencs, PV_NONE, - {(char_u *)"ucs-bom", (char_u *)0L} - SCRIPTID_INIT}, - {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC| - P_CURSWANT, - (char_u *)&p_ff, PV_FF, - {(char_u *)DFLT_FF, (char_u *)0L} SCRIPTID_INIT}, - {"fileformats", "ffs", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_ffs, PV_NONE, - {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM} - SCRIPTID_INIT}, - {"fileignorecase", "fic", P_BOOL|P_VI_DEF, - (char_u *)&p_fic, PV_NONE, - { -#ifdef CASE_INSENSITIVE_FILENAME - (char_u *)TRUE, -#else - (char_u *)FALSE, -#endif - (char_u *)0L - } SCRIPTID_INIT}, - {"filetype", "ft", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - (char_u *)&p_ft, PV_FT, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"fillchars", "fcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_fcs, PV_NONE, - {(char_u *)"vert:|,fold:-", (char_u *)0L} - SCRIPTID_INIT}, - {"fkmap", "fk", P_BOOL|P_VI_DEF, - (char_u *)&p_fkmap, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"foldclose", "fcl", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_RWIN, - (char_u *)&p_fcl, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"foldcolumn", "fdc", P_NUM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDC, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"foldenable", "fen", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FEN, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDE, - {(char_u *)"0", (char_u *)NULL} - SCRIPTID_INIT}, - {"foldignore", "fdi", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDI, - {(char_u *)"#", (char_u *)NULL} SCRIPTID_INIT}, - {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDL, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"foldlevelstart","fdls", P_NUM|P_VI_DEF|P_CURSWANT, - (char_u *)&p_fdls, PV_NONE, - {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT}, - {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF| - P_RWIN|P_COMMA|P_NODUP, - VAR_WIN, PV_FMR, - {(char_u *)"{{{,}}}", (char_u *)NULL} - SCRIPTID_INIT}, - {"foldmethod", "fdm", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDM, - {(char_u *)"manual", (char_u *)NULL} SCRIPTID_INIT}, - {"foldminlines","fml", P_NUM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FML, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDN, - {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"foldopen", "fdo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_CURSWANT, - (char_u *)&p_fdo, PV_NONE, - {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo", - (char_u *)0L} SCRIPTID_INIT}, - {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - VAR_WIN, PV_FDT, - {(char_u *)"foldtext()", (char_u *)NULL} - SCRIPTID_INIT}, - {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - (char_u *)&p_fex, PV_FEX, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"formatoptions","fo", P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST, - (char_u *)&p_fo, PV_FO, - {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM} - SCRIPTID_INIT}, - {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_flp, PV_FLP, - {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", - (char_u *)0L} SCRIPTID_INIT}, - {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_fp, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, -#ifdef HAVE_FSYNC - (char_u *)&p_fs, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} -#endif - SCRIPTID_INIT}, - {"gdefault", "gd", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_gd, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"grepformat", "gfm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_gefm, PV_NONE, - {(char_u *)DFLT_GREPFORMAT, (char_u *)0L} - SCRIPTID_INIT}, - {"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_gp, PV_GP, - { -# ifdef UNIX - /* Add an extra file name so that grep will always - * insert a file name in the match line. */ - (char_u *)"grep -n $* /dev/null", -# else - (char_u *)"grep -n ", -# endif - (char_u *)0L - } - SCRIPTID_INIT}, - {"guicursor", "gcr", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_guicursor, PV_NONE, - { - (char_u *)"n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block", - (char_u *)0L - } - SCRIPTID_INIT}, - {"guifont", "gfn", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"guifontset", "gfs", P_STRING|P_VI_DEF|P_RCLR|P_COMMA, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"guifontwide", "gfw", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"guiheadroom", "ghr", P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)50L, (char_u *)0L} SCRIPTID_INIT}, - {"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"helpfile", "hf", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_hf, PV_NONE, - {(char_u *)DFLT_HELPFILE, (char_u *)0L} - SCRIPTID_INIT}, - {"helpheight", "hh", P_NUM|P_VI_DEF, - (char_u *)&p_hh, PV_NONE, - {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"helplang", "hlg", P_STRING|P_VI_DEF|P_COMMA, - (char_u *)&p_hlg, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"hidden", "hid", P_BOOL|P_VI_DEF, - (char_u *)&p_hid, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"highlight", "hl", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - (char_u *)&p_hl, PV_NONE, - {(char_u *)HIGHLIGHT_INIT, (char_u *)0L} - SCRIPTID_INIT}, - {"history", "hi", P_NUM|P_VIM, - (char_u *)&p_hi, PV_NONE, - {(char_u *)0L, (char_u *)10000L} SCRIPTID_INIT}, - {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_hkmap, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"hkmapp", "hkp", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_hkmapp, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"hlsearch", "hls", P_BOOL|P_VIM|P_RALL, - (char_u *)&p_hls, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"icon", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_icon, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"iconstring", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_iconstring, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"ignorecase", "ic", P_BOOL|P_VI_DEF, - (char_u *)&p_ic, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"imactivatekey","imak",P_STRING|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"imcmdline", "imc", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"imdisable", "imd", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} - SCRIPTID_INIT}, - {"iminsert", "imi", P_NUM|P_VI_DEF, - (char_u *)&p_iminsert, PV_IMI, -#ifdef B_IMODE_IM - {(char_u *)B_IMODE_IM, (char_u *)0L} -#else - {(char_u *)B_IMODE_NONE, (char_u *)0L} -#endif - SCRIPTID_INIT}, - {"imsearch", "ims", P_NUM|P_VI_DEF, - (char_u *)&p_imsearch, PV_IMS, -#ifdef B_IMODE_IM - {(char_u *)B_IMODE_IM, (char_u *)0L} -#else - {(char_u *)B_IMODE_NONE, (char_u *)0L} -#endif - SCRIPTID_INIT}, - {"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_inc, PV_INC, - {(char_u *)"^\\s*#\\s*include", (char_u *)0L} - SCRIPTID_INIT}, - {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_inex, PV_INEX, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"incsearch", "is", P_BOOL|P_VIM, - (char_u *)&p_is, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - (char_u *)&p_inde, PV_INDE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"indentkeys", "indk", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_indk, PV_INDK, - {(char_u *)"0{,0},:,0#,!^F,o,O,e", (char_u *)0L} - SCRIPTID_INIT}, - {"infercase", "inf", P_BOOL|P_VI_DEF, - (char_u *)&p_inf, PV_INF, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"insertmode", "im", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_im, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"isfname", "isf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isf, PV_NONE, - { -#ifdef BACKSLASH_IN_FILENAME - /* Excluded are: & and ^ are special in cmd.exe - * ( and ) are used in text separating fnames */ - (char_u *)"@,48-57,/,\\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=", -#else - (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,~,=", -#endif - (char_u *)0L - } SCRIPTID_INIT}, - {"isident", "isi", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isi, PV_NONE, - { - (char_u *)"@,48-57,_,192-255", - (char_u *)0L - } SCRIPTID_INIT}, - {"iskeyword", "isk", P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_isk, PV_ISK, - { - (char_u *)"@,48-57,_", - ISK_LATIN1 - } SCRIPTID_INIT}, - {"isprint", "isp", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_isp, PV_NONE, - { -#if defined(MSWIN) - (char_u *)"@,~-255", -#else - ISP_LATIN1, -#endif - (char_u *)0L - } SCRIPTID_INIT}, - {"joinspaces", "js", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_js, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"keymap", "kmp", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME| - P_PRI_MKRC, - (char_u *)&p_keymap, PV_KMAP, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"keymodel", "km", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_km, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_kp, PV_KP, - { -# ifdef USEMAN_S - (char_u *)"man -s", -# else - (char_u *)"man", -# endif - (char_u *)0L - } SCRIPTID_INIT}, - {"langmap", "lmap", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_langmap, PV_NONE, - {(char_u *)"", /* unmatched } */ - (char_u *)0L} SCRIPTID_INIT}, - {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_lm, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"langnoremap", "lnr", P_BOOL, - (char_u *)&p_lnr, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"laststatus", "ls", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_ls, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"lazyredraw", "lz", P_BOOL|P_VI_DEF, - (char_u *)&p_lz, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"linebreak", "lbr", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_LBR, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lines", NULL, P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Rows, PV_NONE, - { - (char_u *)DFLT_ROWS, - (char_u *)0L - } SCRIPTID_INIT}, - {"linespace", "lsp", P_NUM|P_VI_DEF|P_RCLR, - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - SCRIPTID_INIT}, - {"lisp", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_lisp, PV_LISP, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_lispwords, PV_LW, - {(char_u *)LISPWORD_VALUE, (char_u *)0L} - SCRIPTID_INIT}, - {"list", NULL, P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_LIST, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"listchars", "lcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_lcs, PV_NONE, - {(char_u *)"eol:$", (char_u *)0L} SCRIPTID_INIT}, - {"loadplugins", "lpl", P_BOOL|P_VI_DEF, - (char_u *)&p_lpl, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"magic", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_magic, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"makeef", "mef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_mef, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_mp, PV_MP, - {(char_u *)"make", (char_u *)0L} - SCRIPTID_INIT}, - {"matchpairs", "mps", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_mps, PV_MPS, - {(char_u *)"(:),{:},[:]", (char_u *)0L} - SCRIPTID_INIT}, - {"matchtime", "mat", P_NUM|P_VI_DEF, - (char_u *)&p_mat, PV_NONE, - {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT}, - {"maxcombine", "mco", P_NUM|P_VI_DEF|P_CURSWANT, - (char_u *)&p_mco, PV_NONE, - {(char_u *)2, (char_u *)0L} SCRIPTID_INIT}, - {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF, - (char_u *)&p_mfd, PV_NONE, - {(char_u *)100L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmapdepth", "mmd", P_NUM|P_VI_DEF, - (char_u *)&p_mmd, PV_NONE, - {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmem", "mm", P_NUM|P_VI_DEF, - (char_u *)&p_mm, PV_NONE, - {(char_u *)DFLT_MAXMEM, (char_u *)0L} - SCRIPTID_INIT}, - {"maxmempattern","mmp", P_NUM|P_VI_DEF, - (char_u *)&p_mmp, PV_NONE, - {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmemtot", "mmt", P_NUM|P_VI_DEF, - (char_u *)&p_mmt, PV_NONE, - {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L} - SCRIPTID_INIT}, - {"menuitems", "mis", P_NUM|P_VI_DEF, - (char_u *)&p_mis, PV_NONE, - {(char_u *)25L, (char_u *)0L} SCRIPTID_INIT}, - {"mkspellmem", "msm", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE, - (char_u *)&p_msm, PV_NONE, - {(char_u *)"460000,2000,500", (char_u *)0L} - SCRIPTID_INIT}, - {"modeline", "ml", P_BOOL|P_VIM, - (char_u *)&p_ml, PV_ML, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"modelines", "mls", P_NUM|P_VI_DEF, - (char_u *)&p_mls, PV_NONE, - {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT}, - {"modifiable", "ma", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_ma, PV_MA, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"modified", "mod", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_mod, PV_MOD, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"more", NULL, P_BOOL|P_VIM, - (char_u *)&p_more, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"mouse", NULL, P_STRING|P_FLAGLIST, - (char_u *)&p_mouse, PV_NONE, - { - (char_u *)"", - (char_u *)"a" - } SCRIPTID_INIT}, - {"mousefocus", "mousef", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"mousehide", "mh", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"mousemodel", "mousem", P_STRING|P_VI_DEF, - (char_u *)&p_mousem, PV_NONE, - { - (char_u *)"extend", - (char_u *)0L - } SCRIPTID_INIT}, - {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - SCRIPTID_INIT}, - {"mousetime", "mouset", P_NUM|P_VI_DEF, - (char_u *)&p_mouset, PV_NONE, - {(char_u *)500L, (char_u *)0L} SCRIPTID_INIT}, - {"nrformats", "nf", P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_nf, PV_NF, - {(char_u *)"octal,hex", (char_u *)"hex"} - SCRIPTID_INIT}, - {"number", "nu", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_NU, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM, - VAR_WIN, PV_NUW, - {(char_u *)8L, (char_u *)4L} SCRIPTID_INIT}, - {"omnifunc", "ofu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - (char_u *)&p_ofu, PV_OFU, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"opendevice", "odev", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} - SCRIPTID_INIT}, - {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_opfunc, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"paragraphs", "para", P_STRING|P_VI_DEF, - (char_u *)&p_para, PV_NONE, - {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp", - (char_u *)0L} SCRIPTID_INIT}, - {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC, - (char_u *)&p_paste, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"pastetoggle", "pt", P_STRING|P_VI_DEF, - (char_u *)&p_pt, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"patchexpr", "pex", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_pex, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"patchmode", "pm", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_pm, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_path, PV_PATH, - { - (char_u *)".,/usr/include,,", - (char_u *)0L - } SCRIPTID_INIT}, - {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_pi, PV_PI, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"previewheight", "pvh", P_NUM|P_VI_DEF, - (char_u *)&p_pvh, PV_NONE, - {(char_u *)12L, (char_u *)0L} SCRIPTID_INIT}, - {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - VAR_WIN, PV_PVW, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_pdev, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"printencoding", "penc", P_STRING|P_VI_DEF, - (char_u *)&p_penc, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"printexpr", "pexpr", P_STRING|P_VI_DEF, - (char_u *)&p_pexpr, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"printfont", "pfn", P_STRING|P_VI_DEF, - (char_u *)&p_pfn, PV_NONE, - { - (char_u *)"courier", - (char_u *)0L - } - SCRIPTID_INIT}, - {"printheader", "pheader", P_STRING|P_VI_DEF|P_GETTEXT, - (char_u *)&p_header, PV_NONE, - {(char_u *)N_("%<%f%h%m%=Page %N"), (char_u *)0L} - SCRIPTID_INIT}, - {"printmbcharset", "pmbcs", P_STRING|P_VI_DEF, - (char_u *)&p_pmcs, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"printmbfont", "pmbfn", P_STRING|P_VI_DEF, - (char_u *)&p_pmfn, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"printoptions", "popt", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_popt, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"prompt", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_prompt, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"pumheight", "ph", P_NUM|P_VI_DEF, - (char_u *)&p_ph, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"quoteescape", "qe", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_qe, PV_QE, - {(char_u *)"\\", (char_u *)0L} - SCRIPTID_INIT}, - {"readonly", "ro", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - (char_u *)&p_ro, PV_RO, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"redrawtime", "rdt", P_NUM|P_VI_DEF, - (char_u *)&p_rdt, PV_NONE, - {(char_u *)2000L, (char_u *)0L} SCRIPTID_INIT}, - {"regexpengine", "re", P_NUM|P_VI_DEF, - (char_u *)&p_re, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_RNU, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"remap", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_remap, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"report", NULL, P_NUM|P_VI_DEF, - (char_u *)&p_report, PV_NONE, - {(char_u *)2L, (char_u *)0L} SCRIPTID_INIT}, - {"restorescreen", "rs", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"revins", "ri", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ri, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rightleft", "rl", P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_RL, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN, - VAR_WIN, PV_RLC, - {(char_u *)"search", (char_u *)NULL} - SCRIPTID_INIT}, - {"ruler", "ru", P_BOOL|P_VI_DEF|P_VIM|P_RSTAT, - (char_u *)&p_ru, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - (char_u *)&p_ruf, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"runtimepath", "rtp", P_STRING|P_VI_DEF|P_EXPAND|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_rtp, PV_NONE, - {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L} - SCRIPTID_INIT}, - {"scroll", "scr", P_NUM|P_NO_MKRC|P_VI_DEF, - VAR_WIN, PV_SCROLL, - {(char_u *)12L, (char_u *)0L} SCRIPTID_INIT}, - {"scrollbind", "scb", P_BOOL|P_VI_DEF, - VAR_WIN, PV_SCBIND, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"scrolljump", "sj", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sj, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"scrolloff", "so", P_NUM|P_VI_DEF|P_VIM|P_RALL, - (char_u *)&p_so, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"scrollopt", "sbo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_sbo, PV_NONE, - {(char_u *)"ver,jump", (char_u *)0L} - SCRIPTID_INIT}, - {"sections", "sect", P_STRING|P_VI_DEF, - (char_u *)&p_sections, PV_NONE, - {(char_u *)"SHNHH HUnhsh", (char_u *)0L} - SCRIPTID_INIT}, - {"secure", NULL, P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_secure, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"selection", "sel", P_STRING|P_VI_DEF, - (char_u *)&p_sel, PV_NONE, - {(char_u *)"inclusive", (char_u *)0L} - SCRIPTID_INIT}, - {"selectmode", "slm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_slm, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"sessionoptions", "ssop", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_ssop, PV_NONE, - {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize", - (char_u *)"blank,buffers,curdir,folds,help,tabpages,winsize"} - SCRIPTID_INIT}, - {"shell", "sh", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_sh, PV_NONE, - { - (char_u *)"sh", - (char_u *)0L - } SCRIPTID_INIT}, - {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shcf, PV_NONE, - { - (char_u *)"-c", - (char_u *)0L - } SCRIPTID_INIT}, - {"shellpipe", "sp", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_sp, PV_NONE, - { -#if defined(UNIX) - (char_u *)"| tee", -#else - (char_u *)">", -#endif - (char_u *)0L - } - SCRIPTID_INIT}, - {"shellquote", "shq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shq, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"shellredir", "srr", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_srr, PV_NONE, - {(char_u *)">", (char_u *)0L} SCRIPTID_INIT}, - {"shellslash", "ssl", P_BOOL|P_VI_DEF, -#ifdef BACKSLASH_IN_FILENAME - (char_u *)&p_ssl, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"shelltemp", "stmp", P_BOOL, - (char_u *)&p_stmp, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"shellxquote", "sxq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_sxq, PV_NONE, - { - (char_u *)"", - (char_u *)0L - } SCRIPTID_INIT}, - {"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_sxe, PV_NONE, - { - (char_u *)"", - (char_u *)0L - } SCRIPTID_INIT}, - {"shiftround", "sr", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sr, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"shiftwidth", "sw", P_NUM|P_VI_DEF, - (char_u *)&p_sw, PV_SW, - {(char_u *)8L, (char_u *)0L} SCRIPTID_INIT}, - {"shortmess", "shm", P_STRING|P_VIM|P_FLAGLIST, - (char_u *)&p_shm, PV_NONE, - {(char_u *)"", (char_u *)"filnxtToO"} - SCRIPTID_INIT}, - {"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL, - (char_u *)&p_sbr, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"showcmd", "sc", P_BOOL|P_VIM, - (char_u *)&p_sc, PV_NONE, - {(char_u *)FALSE, -#ifdef UNIX - (char_u *)FALSE -#else - (char_u *) TRUE -#endif - } SCRIPTID_INIT}, - {"showfulltag", "sft", P_BOOL|P_VI_DEF, - (char_u *)&p_sft, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"showmatch", "sm", P_BOOL|P_VI_DEF, - (char_u *)&p_sm, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"showmode", "smd", P_BOOL|P_VIM, - (char_u *)&p_smd, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_stal, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"sidescroll", "ss", P_NUM|P_VI_DEF, - (char_u *)&p_ss, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF, - (char_u *)&p_siso, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"smartcase", "scs", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_scs, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"smartindent", "si", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_si, PV_SI, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"smarttab", "sta", P_BOOL|P_VIM, - (char_u *)&p_sta, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"softtabstop", "sts", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sts, PV_STS, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"spell", NULL, P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_SPELL, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF, - (char_u *)&p_spc, PV_SPC, - {(char_u *)"[.?!]\\_[\\])'\" ]\\+", (char_u *)0L} - SCRIPTID_INIT}, - {"spellfile", "spf", P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE|P_COMMA, - (char_u *)&p_spf, PV_SPF, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"spelllang", "spl", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_RBUF|P_EXPAND, - (char_u *)&p_spl, PV_SPL, - {(char_u *)"en", (char_u *)0L} - SCRIPTID_INIT}, - {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_COMMA, - (char_u *)&p_sps, PV_NONE, - {(char_u *)"best", (char_u *)0L} - SCRIPTID_INIT}, - {"splitbelow", "sb", P_BOOL|P_VI_DEF, - (char_u *)&p_sb, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"splitright", "spr", P_BOOL|P_VI_DEF, - (char_u *)&p_spr, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"startofline", "sol", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sol, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"statusline","stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - (char_u *)&p_stl, PV_STL, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"suffixes", "su", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_su, PV_NONE, - {(char_u *)".bak,~,.o,.h,.info,.swp,.obj", - (char_u *)0L} SCRIPTID_INIT}, - {"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_COMMA|P_NODUP, - (char_u *)&p_sua, PV_SUA, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"swapfile", "swf", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_swf, PV_SWF, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"swapsync", "sws", P_STRING|P_VI_DEF, - (char_u *)&p_sws, PV_NONE, - {(char_u *)"fsync", (char_u *)0L} SCRIPTID_INIT}, - {"switchbuf", "swb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_swb, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"synmaxcol", "smc", P_NUM|P_VI_DEF|P_RBUF, - (char_u *)&p_smc, PV_SMC, - {(char_u *)3000L, (char_u *)0L} - SCRIPTID_INIT}, - {"syntax", "syn", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - (char_u *)&p_syn, PV_SYN, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL, - (char_u *)&p_tal, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"tabpagemax", "tpm", P_NUM|P_VIM, - (char_u *)&p_tpm, PV_NONE, - {(char_u *)10L, (char_u *)50L} SCRIPTID_INIT}, - {"tabstop", "ts", P_NUM|P_VI_DEF|P_RBUF, - (char_u *)&p_ts, PV_TS, - {(char_u *)8L, (char_u *)0L} SCRIPTID_INIT}, - {"tagbsearch", "tbs", P_BOOL|P_VI_DEF, - (char_u *)&p_tbs, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} - SCRIPTID_INIT}, - {"taglength", "tl", P_NUM|P_VI_DEF, - (char_u *)&p_tl, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"tagrelative", "tr", P_BOOL|P_VIM, - (char_u *)&p_tr, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_tags, PV_TAGS, - { - (char_u *)"./tags;,tags", - (char_u *)0L - } SCRIPTID_INIT}, - {"tagstack", "tgst", P_BOOL|P_VI_DEF, - (char_u *)&p_tgst, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"termbidi", "tbidi", P_BOOL|P_VI_DEF, - (char_u *)&p_tbidi, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"terse", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_terse, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"textwidth", "tw", P_NUM|P_VI_DEF|P_VIM|P_RBUF, - (char_u *)&p_tw, PV_TW, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_tsr, PV_TSR, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"tildeop", "top", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_to, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"timeout", "to", P_BOOL|P_VI_DEF, - (char_u *)&p_timeout, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"timeoutlen", "tm", P_NUM|P_VI_DEF, - (char_u *)&p_tm, PV_NONE, - {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"title", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_title, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"titlelen", NULL, P_NUM|P_VI_DEF, - (char_u *)&p_titlelen, PV_NONE, - {(char_u *)85L, (char_u *)0L} SCRIPTID_INIT}, - {"titleold", NULL, P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC, - (char_u *)&p_titleold, PV_NONE, - {(char_u *)N_("Thanks for flying Vim"), - (char_u *)0L} - SCRIPTID_INIT}, - {"titlestring", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_titlestring, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"ttimeout", NULL, P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ttimeout, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"ttimeoutlen", "ttm", P_NUM|P_VI_DEF, - (char_u *)&p_ttm, PV_NONE, - {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT}, - {"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF, - (char_u *)&p_force_on, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"undodir", "udir", P_STRING|P_EXPAND|P_COMMA|P_NODUP|P_SECURE|P_VI_DEF, - (char_u *)&p_udir, PV_NONE, - {(char_u *)".", (char_u *)0L} - SCRIPTID_INIT}, - {"undofile", "udf", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_udf, PV_UDF, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"undolevels", "ul", P_NUM|P_VI_DEF, - (char_u *)&p_ul, PV_UL, - { -#if defined(UNIX) || defined(WIN3264) - (char_u *)1000L, -#else - (char_u *)100L, -#endif - (char_u *)0L - } SCRIPTID_INIT}, - {"undoreload", "ur", P_NUM|P_VI_DEF, - (char_u *)&p_ur, PV_NONE, - { (char_u *)10000L, (char_u *)0L} SCRIPTID_INIT}, - {"updatecount", "uc", P_NUM|P_VI_DEF, - (char_u *)&p_uc, PV_NONE, - {(char_u *)200L, (char_u *)0L} SCRIPTID_INIT}, - {"updatetime", "ut", P_NUM|P_VI_DEF, - (char_u *)&p_ut, PV_NONE, - {(char_u *)4000L, (char_u *)0L} SCRIPTID_INIT}, - {"verbose", "vbs", P_NUM|P_VI_DEF, - (char_u *)&p_verbose, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_vfile, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_vdir, PV_NONE, - {(char_u *)DFLT_VDIR, (char_u *)0L} - SCRIPTID_INIT}, - {"viewoptions", "vop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_vop, PV_NONE, - {(char_u *)"folds,options,cursor", (char_u *)0L} - SCRIPTID_INIT}, - {"viminfo", "vi", P_STRING|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_viminfo, PV_NONE, - {(char_u *)"", (char_u *)"!,'100,<50,s10,h"} - SCRIPTID_INIT}, - {"virtualedit", "ve", P_STRING|P_COMMA|P_NODUP|P_VI_DEF|P_VIM|P_CURSWANT, - (char_u *)&p_ve, PV_NONE, - {(char_u *)"", (char_u *)""} - SCRIPTID_INIT}, - {"visualbell", "vb", P_BOOL|P_VI_DEF, - (char_u *)&p_vb, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"warn", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_warn, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"whichwrap", "ww", P_STRING|P_VIM|P_COMMA|P_FLAGLIST, - (char_u *)&p_ww, PV_NONE, - {(char_u *)"", (char_u *)"b,s"} SCRIPTID_INIT}, - {"wildchar", "wc", P_NUM|P_VIM, - (char_u *)&p_wc, PV_NONE, - {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB} - SCRIPTID_INIT}, - {"wildcharm", "wcm", P_NUM|P_VI_DEF, - (char_u *)&p_wcm, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_wig, PV_NONE, - {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"wildignorecase", "wic", P_BOOL|P_VI_DEF, - (char_u *)&p_wic, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"wildmenu", "wmnu", P_BOOL|P_VIM, - (char_u *)&p_wmnu, PV_NONE, - {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"wildmode", "wim", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_wim, PV_NONE, - {(char_u *)"", (char_u *)"list:longest,full"} SCRIPTID_INIT}, - {"wildoptions", "wop", P_STRING|P_VI_DEF, - (char_u *)&p_wop, PV_NONE, - {(char_u *)"", (char_u *)0L} - SCRIPTID_INIT}, - {"winaltkeys", "wak", P_STRING|P_VI_DEF, - (char_u *)&p_wak, PV_NONE, - {(char_u *)"menu", (char_u *)0L} - SCRIPTID_INIT}, - {"window", "wi", P_NUM|P_VI_DEF, - (char_u *)&p_window, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"winheight", "wh", P_NUM|P_VI_DEF, - (char_u *)&p_wh, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT, - VAR_WIN, PV_WFH, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT, - VAR_WIN, PV_WFW, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"winminheight", "wmh", P_NUM|P_VI_DEF, - (char_u *)&p_wmh, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winminwidth", "wmw", P_NUM|P_VI_DEF, - (char_u *)&p_wmw, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winwidth", "wiw", P_NUM|P_VI_DEF, - (char_u *)&p_wiw, PV_NONE, - {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"wrap", NULL, P_BOOL|P_VI_DEF|P_RWIN, - VAR_WIN, PV_WRAP, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"wrapmargin", "wm", P_NUM|P_VI_DEF, - (char_u *)&p_wm, PV_WM, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"wrapscan", "ws", P_BOOL|P_VI_DEF, - (char_u *)&p_ws, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"write", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_write, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"writeany", "wa", P_BOOL|P_VI_DEF, - (char_u *)&p_wa, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"writebackup", "wb", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_wb, PV_NONE, - { - (char_u *)TRUE, - (char_u *)0L - } SCRIPTID_INIT}, - {"writedelay", "wd", P_NUM|P_VI_DEF, - (char_u *)&p_wd, PV_NONE, - {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - /* end marker */ - { - NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL} SCRIPTID_INIT - } -}; +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "options.generated.h" +#endif #define PARAM_COUNT ARRAY_SIZE(options) diff --git a/src/nvim/options.lua b/src/nvim/options.lua new file mode 100644 index 0000000000..b269bfdc98 --- /dev/null +++ b/src/nvim/options.lua @@ -0,0 +1,2777 @@ +-- { +-- { +-- full_name='aleph', abbreviation='al', +-- varname='p_aleph', pv_name=nil, +-- type='number', list=nil, scope={'global'}, +-- deny_duplicates=nil, +-- enable_if=nil, +-- defaults={condition=nil, if_true={vi=224, vim=0}, if_false=nil}, +-- secure=nil, gettext=nil, noglob=nil, normal_fname_chars=nil, +-- pri_mkrc=nil, deny_in_modelines=nil, +-- expand=nil, nodefault=nil, no_mkrc=nil, vi_def=true, vim=true, +-- alloced=nil, +-- save_pv_indir=nil, +-- redraw={'curswant'}, +-- } +-- } +-- types: bool, number, string +-- lists: (nil), comma, flags, flagscomma +-- scopes: global, buffer, window +-- redraw options: statuslines, current_window, current_buffer, all_windows, +-- everything, curswant +-- default: {vi=…[, vim=…]} +-- defaults: {condition=#if condition, if_true=default, if_false=default} +-- #if condition: +-- string: #ifdef string +-- !string: #ifndef string +-- {string, string}: #if defined(string) && defined(string) +-- {!string, !string}: #if !defined(string) && !defined(string) +local cstr = function(s) + return '"' .. s:gsub('["\\]', '\\%0'):gsub('\t', '\\t') .. '"' +end +local macros=function(s) + return function() + return s + end +end +local N_=function(s) + return function() + return 'N_(' .. cstr(s) .. ')' + end +end +return { + cstr=cstr, + options={ + { + full_name='aleph', abbreviation='al', + type='number', scope={'global'}, + vi_def=true, + redraw={'curswant'}, + varname='p_aleph', + defaults={if_true={vi=224}} + }, + { + full_name='antialias', abbreviation='anti', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + redraw={'everything'}, + enable_if=false, + defaults={if_true={vi=false, vim=false}} + }, + { + full_name='arabic', abbreviation='arab', + type='bool', scope={'window'}, + vi_def=true, + vim=true, + redraw={'curswant'}, + defaults={if_true={vi=false}} + }, + { + full_name='arabicshape', abbreviation='arshape', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + redraw={'everything'}, + varname='p_arshape', + defaults={if_true={vi=true}} + }, + { + full_name='allowrevins', abbreviation='ari', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_ari', + defaults={if_true={vi=false}} + }, + { + full_name='altkeymap', abbreviation='akm', + type='bool', scope={'global'}, + vi_def=true, + varname='p_altkeymap', + defaults={if_true={vi=false}} + }, + { + full_name='ambiwidth', abbreviation='ambw', + type='string', scope={'global'}, + vi_def=true, + redraw={'everything'}, + varname='p_ambw', + defaults={if_true={vi="single"}} + }, + { + full_name='autochdir', abbreviation='acd', + type='bool', scope={'global'}, + vi_def=true, + varname='p_acd', + defaults={if_true={vi=false}} + }, + { + full_name='autoindent', abbreviation='ai', + type='bool', scope={'buffer'}, + varname='p_ai', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='autoread', abbreviation='ar', + type='bool', scope={'global', 'buffer'}, + varname='p_ar', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='autowrite', abbreviation='aw', + type='bool', scope={'global'}, + vi_def=true, + varname='p_aw', + defaults={if_true={vi=false}} + }, + { + full_name='autowriteall', abbreviation='awa', + type='bool', scope={'global'}, + vi_def=true, + varname='p_awa', + defaults={if_true={vi=false}} + }, + { + full_name='background', abbreviation='bg', + type='string', scope={'global'}, + vi_def=true, + redraw={'everything'}, + varname='p_bg', + defaults={if_true={vi="light"}} + }, + { + full_name='backspace', abbreviation='bs', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vim=true, + varname='p_bs', + defaults={if_true={vi="", vim="indent,eol,start"}} + }, + { + full_name='backup', abbreviation='bk', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_bk', + defaults={if_true={vi=false}} + }, + { + full_name='backupcopy', abbreviation='bkc', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vim=true, + varname='p_bkc', + defaults={ + condition='UNIX', + if_true={vi="yes", vim="auto"}, + if_false={vi="auto", vim="auto"} + }, + }, + { + full_name='backupdir', abbreviation='bdir', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + vi_def=true, + expand=true, + varname='p_bdir', + defaults={if_true={vi=macros('DFLT_BDIR')}} + }, + { + full_name='backupext', abbreviation='bex', + type='string', scope={'global'}, + normal_fname_chars=true, + vi_def=true, + varname='p_bex', + defaults={if_true={vi="~"}} + }, + { + full_name='backupskip', abbreviation='bsk', + type='string', list='comma', scope={'global'}, + vi_def=true, + varname='p_bsk', + defaults={if_true={vi=""}} + }, + { + full_name='binary', abbreviation='bin', + type='bool', scope={'buffer'}, + vi_def=true, + redraw={'statuslines'}, + varname='p_bin', + defaults={if_true={vi=false}} + }, + { + full_name='bomb', + type='bool', scope={'buffer'}, + no_mkrc=true, + vi_def=true, + redraw={'statuslines'}, + varname='p_bomb', + defaults={if_true={vi=false}} + }, + { + full_name='breakat', abbreviation='brk', + type='string', list='flags', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_breakat', + defaults={if_true={vi=" \t!@*-+;:,./?"}} + }, + { + full_name='breakindent', abbreviation='bri', + type='bool', scope={'window'}, + vi_def=true, + vim=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='breakindentopt', abbreviation='briopt', + type='string', list='comma', scope={'window'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + redraw={'current_buffer'}, + defaults={if_true={vi=""}}, + }, + { + full_name='browsedir', abbreviation='bsdir', + type='string', scope={'global'}, + vi_def=true, + enable_if=false, + }, + { + full_name='bufhidden', abbreviation='bh', + type='string', scope={'buffer'}, + noglob=true, + vi_def=true, + alloced=true, + varname='p_bh', + defaults={if_true={vi=""}} + }, + { + full_name='buflisted', abbreviation='bl', + type='bool', scope={'buffer'}, + noglob=true, + vi_def=true, + varname='p_bl', + defaults={if_true={vi=1}} + }, + { + full_name='buftype', abbreviation='bt', + type='string', scope={'buffer'}, + noglob=true, + vi_def=true, + alloced=true, + varname='p_bt', + defaults={if_true={vi=""}} + }, + { + full_name='casemap', abbreviation='cmp', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_cmp', + defaults={if_true={vi="internal,keepascii"}} + }, + { + full_name='cdpath', abbreviation='cd', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + expand=true, + varname='p_cdpath', + defaults={if_true={vi=",,"}} + }, + { + full_name='cedit', + type='string', scope={'global'}, + varname='p_cedit', + defaults={if_true={vi="", vim=macros('CTRL_F_STR')}} + }, + { + full_name='charconvert', abbreviation='ccv', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_ccv', + defaults={if_true={vi=""}} + }, + { + full_name='cindent', abbreviation='cin', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_cin', + defaults={if_true={vi=false}} + }, + { + full_name='cinkeys', abbreviation='cink', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_cink', + defaults={if_true={vi="0{,0},0),:,0#,!^F,o,O,e"}} + }, + { + full_name='cinoptions', abbreviation='cino', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_cino', + defaults={if_true={vi=""}} + }, + { + full_name='cinwords', abbreviation='cinw', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_cinw', + defaults={if_true={vi="if,else,while,do,for,switch"}} + }, + { + full_name='clipboard', abbreviation='cb', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_cb', + defaults={if_true={vi=""}} + }, + { + full_name='cmdheight', abbreviation='ch', + type='number', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_ch', + defaults={if_true={vi=1}} + }, + { + full_name='cmdwinheight', abbreviation='cwh', + type='number', scope={'global'}, + vi_def=true, + varname='p_cwh', + defaults={if_true={vi=7}} + }, + { + full_name='colorcolumn', abbreviation='cc', + type='string', list='comma', scope={'window'}, + deny_duplicates=true, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=""}} + }, + { + full_name='columns', abbreviation='co', + type='number', scope={'global'}, + no_mkrc=true, + nodefault=true, + vi_def=true, + redraw={'everything'}, + varname='Columns', + defaults={if_true={vi=macros('DFLT_COLS')}} + }, + { + full_name='comments', abbreviation='com', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + redraw={'curswant'}, + varname='p_com', + defaults={if_true={vi="s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-"}} + }, + { + full_name='commentstring', abbreviation='cms', + type='string', scope={'buffer'}, + vi_def=true, + alloced=true, + redraw={'curswant'}, + varname='p_cms', + defaults={if_true={vi="/*%s*/"}} + }, + { + full_name='compatible', abbreviation='cp', + type='bool', scope={'global'}, + redraw={'all_windows'}, + varname='p_force_off', + -- pri_mkrc isn't needed here, optval_default() + -- always returns TRUE for 'compatible' + defaults={if_true={vi=true, vim=false}} + }, + { + full_name='complete', abbreviation='cpt', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + alloced=true, + varname='p_cpt', + defaults={if_true={vi=".,w,b,u,t,i", vim=".,w,b,u,t"}} + }, + { + full_name='concealcursor', abbreviation='cocu', + type='string', scope={'window'}, + vi_def=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi=""}} + }, + { + full_name='conceallevel', abbreviation='cole', + type='number', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=0}} + }, + { + full_name='completefunc', abbreviation='cfu', + type='string', scope={'buffer'}, + secure=true, + vi_def=true, + alloced=true, + varname='p_cfu', + defaults={if_true={vi=""}} + }, + { + full_name='completeopt', abbreviation='cot', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_cot', + defaults={if_true={vi="menu,preview"}} + }, + { + full_name='confirm', abbreviation='cf', + type='bool', scope={'global'}, + vi_def=true, + varname='p_confirm', + defaults={if_true={vi=false}} + }, + { + full_name='copyindent', abbreviation='ci', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_ci', + defaults={if_true={vi=false}} + }, + { + full_name='cpoptions', abbreviation='cpo', + type='string', list='flags', scope={'global'}, + vim=true, + redraw={'all_windows'}, + varname='p_cpo', + defaults={if_true={vi=macros('CPO_VI'), vim=macros('CPO_VIM')}} + }, + { + full_name='cscopepathcomp', abbreviation='cspc', + type='number', scope={'global'}, + vi_def=true, + vim=true, + varname='p_cspc', + defaults={if_true={vi=0}} + }, + { + full_name='cscopeprg', abbreviation='csprg', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_csprg', + defaults={if_true={vi="cscope"}} + }, + { + full_name='cscopequickfix', abbreviation='csqf', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_csqf', + defaults={if_true={vi=""}} + }, + { + full_name='cscoperelative', abbreviation='csre', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_csre', + defaults={if_true={vi=0}} + }, + { + full_name='cscopetag', abbreviation='cst', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_cst', + defaults={if_true={vi=0}} + }, + { + full_name='cscopetagorder', abbreviation='csto', + type='number', scope={'global'}, + vi_def=true, + vim=true, + varname='p_csto', + defaults={if_true={vi=0}} + }, + { + full_name='cscopeverbose', abbreviation='csverb', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_csverbose', + defaults={if_true={vi=0}} + }, + { + full_name='cursorbind', abbreviation='crb', + type='bool', scope={'window'}, + vi_def=true, + pv_name='p_crbind', + defaults={if_true={vi=false}} + }, + { + full_name='cursorcolumn', abbreviation='cuc', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='cursorline', abbreviation='cul', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='debug', + type='string', scope={'global'}, + vi_def=true, + varname='p_debug', + defaults={if_true={vi=""}} + }, + { + full_name='define', abbreviation='def', + type='string', scope={'global', 'buffer'}, + vi_def=true, + alloced=true, + redraw={'curswant'}, + varname='p_def', + defaults={if_true={vi="^\\s*#\\s*define"}} + }, + { + full_name='delcombine', abbreviation='deco', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_deco', + defaults={if_true={vi=false}} + }, + { + full_name='dictionary', abbreviation='dict', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + expand=true, + varname='p_dict', + defaults={if_true={vi=""}} + }, + { + full_name='diff', + type='bool', scope={'window'}, + noglob=true, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='diffexpr', abbreviation='dex', + type='string', scope={'global'}, + secure=true, + vi_def=true, + redraw={'curswant'}, + varname='p_dex', + defaults={if_true={vi=""}} + }, + { + full_name='diffopt', abbreviation='dip', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + redraw={'current_window'}, + varname='p_dip', + defaults={if_true={vi="filler"}} + }, + { + full_name='digraph', abbreviation='dg', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_dg', + defaults={if_true={vi=false}} + }, + { + full_name='directory', abbreviation='dir', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + vi_def=true, + expand=true, + varname='p_dir', + defaults={if_true={vi=macros('DFLT_DIR')}} + }, + { + full_name='display', abbreviation='dy', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vim=true, + redraw={'all_windows'}, + varname='p_dy', + defaults={if_true={vi="", vim="lastline"}} + }, + { + full_name='eadirection', abbreviation='ead', + type='string', scope={'global'}, + vi_def=true, + varname='p_ead', + defaults={if_true={vi="both"}} + }, + { + full_name='edcompatible', abbreviation='ed', + type='bool', scope={'global'}, + vi_def=true, + varname='p_force_off', + defaults={if_true={vi=false}} + }, + { + full_name='encoding', abbreviation='enc', + type='string', scope={'global'}, + deny_in_modelines=true, + vi_def=true, + redraw={'everything'}, + varname='p_enc', + defaults={if_true={vi=macros('ENC_DFLT')}} + }, + { + full_name='endofline', abbreviation='eol', + type='bool', scope={'buffer'}, + no_mkrc=true, + vi_def=true, + redraw={'statuslines'}, + varname='p_eol', + defaults={if_true={vi=true}} + }, + { + full_name='equalalways', abbreviation='ea', + type='bool', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_ea', + defaults={if_true={vi=true}} + }, + { + full_name='equalprg', abbreviation='ep', + type='string', scope={'global', 'buffer'}, + secure=true, + vi_def=true, + expand=true, + varname='p_ep', + defaults={if_true={vi=""}} + }, + { + full_name='errorbells', abbreviation='eb', + type='bool', scope={'global'}, + vi_def=true, + varname='p_eb', + defaults={if_true={vi=false}} + }, + { + full_name='errorfile', abbreviation='ef', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_ef', + defaults={if_true={vi=macros('DFLT_ERRORFILE')}} + }, + { + full_name='errorformat', abbreviation='efm', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + varname='p_efm', + defaults={if_true={vi=macros('DFLT_EFM')}} + }, + { + full_name='esckeys', abbreviation='ek', + type='bool', scope={'global'}, + vim=true, + varname='p_ek', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='eventignore', abbreviation='ei', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_ei', + defaults={if_true={vi=""}} + }, + { + full_name='expandtab', abbreviation='et', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_et', + defaults={if_true={vi=false}} + }, + { + full_name='exrc', abbreviation='ex', + type='bool', scope={'global'}, + secure=true, + vi_def=true, + varname='p_exrc', + defaults={if_true={vi=false}} + }, + { + full_name='fileencoding', abbreviation='fenc', + type='string', scope={'buffer'}, + no_mkrc=true, + vi_def=true, + alloced=true, + redraw={'statuslines', 'current_buffer'}, + varname='p_fenc', + defaults={if_true={vi=""}} + }, + { + full_name='fileencodings', abbreviation='fencs', + type='string', list='comma', scope={'global'}, + vi_def=true, + varname='p_fencs', + defaults={if_true={vi="ucs-bom"}} + }, + { + full_name='fileformat', abbreviation='ff', + type='string', scope={'buffer'}, + no_mkrc=true, + vi_def=true, + alloced=true, + redraw={'curswant', 'statuslines'}, + varname='p_ff', + defaults={if_true={vi=macros('DFLT_FF')}} + }, + { + full_name='fileformats', abbreviation='ffs', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vim=true, + varname='p_ffs', + defaults={if_true={vi=macros('DFLT_FFS_VI'), vim=macros('DFLT_FFS_VIM')}} + }, + { + full_name='fileignorecase', abbreviation='fic', + type='bool', scope={'global'}, + vi_def=true, + varname='p_fic', + defaults={ + condition='CASE_INSENSITIVE_FILENAME', + if_true={vi=true}, + if_false={vi=false}, + } + }, + { + full_name='filetype', abbreviation='ft', + type='string', scope={'buffer'}, + noglob=true, + normal_fname_chars=true, + vi_def=true, + alloced=true, + varname='p_ft', + defaults={if_true={vi=""}} + }, + { + full_name='fillchars', abbreviation='fcs', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'all_windows'}, + varname='p_fcs', + defaults={if_true={vi="vert:|,fold:-"}} + }, + { + full_name='fkmap', abbreviation='fk', + type='bool', scope={'global'}, + vi_def=true, + varname='p_fkmap', + defaults={if_true={vi=false}} + }, + { + full_name='foldclose', abbreviation='fcl', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'current_window'}, + varname='p_fcl', + defaults={if_true={vi=""}} + }, + { + full_name='foldcolumn', abbreviation='fdc', + type='number', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='foldenable', abbreviation='fen', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=true}} + }, + { + full_name='foldexpr', abbreviation='fde', + type='string', scope={'window'}, + vi_def=true, + vim=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="0"}} + }, + { + full_name='foldignore', abbreviation='fdi', + type='string', scope={'window'}, + vi_def=true, + vim=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="#"}} + }, + { + full_name='foldlevel', abbreviation='fdl', + type='number', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=0}} + }, + { + full_name='foldlevelstart', abbreviation='fdls', + type='number', scope={'global'}, + vi_def=true, + redraw={'curswant'}, + varname='p_fdls', + defaults={if_true={vi=-1}} + }, + { + full_name='foldmarker', abbreviation='fmr', + type='string', list='comma', scope={'window'}, + deny_duplicates=true, + vi_def=true, + vim=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="{{{,}}}"}} + }, + { + full_name='foldmethod', abbreviation='fdm', + type='string', scope={'window'}, + vi_def=true, + vim=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="manual"}} + }, + { + full_name='foldminlines', abbreviation='fml', + type='number', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=1}} + }, + { + full_name='foldnestmax', abbreviation='fdn', + type='number', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=20}} + }, + { + full_name='foldopen', abbreviation='fdo', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'curswant'}, + varname='p_fdo', + defaults={if_true={vi="block,hor,mark,percent,quickfix,search,tag,undo"}} + }, + { + full_name='foldtext', abbreviation='fdt', + type='string', scope={'window'}, + vi_def=true, + vim=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="foldtext()"}} + }, + { + full_name='formatexpr', abbreviation='fex', + type='string', scope={'buffer'}, + vi_def=true, + vim=true, + alloced=true, + varname='p_fex', + defaults={if_true={vi=""}} + }, + { + full_name='formatoptions', abbreviation='fo', + type='string', list='flags', scope={'buffer'}, + vim=true, + alloced=true, + varname='p_fo', + defaults={if_true={vi=macros('DFLT_FO_VI'), vim=macros('DFLT_FO_VIM')}} + }, + { + full_name='formatlistpat', abbreviation='flp', + type='string', scope={'buffer'}, + vi_def=true, + alloced=true, + varname='p_flp', + defaults={if_true={vi="^\\s*\\d\\+[\\]:.)}\\t ]\\s*"}} + }, + { + full_name='formatprg', abbreviation='fp', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_fp', + defaults={if_true={vi=""}} + }, + { + full_name='fsync', abbreviation='fs', + type='bool', scope={'global'}, + secure=true, + vi_def=true, + enable_if='HAVE_FSYNC', + varname='p_fs', + defaults={if_true={vi=true}} + }, + { + full_name='gdefault', abbreviation='gd', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_gd', + defaults={if_true={vi=false}} + }, + { + full_name='grepformat', abbreviation='gfm', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_gefm', + defaults={if_true={vi=macros('DFLT_GREPFORMAT')}} + }, + { + full_name='grepprg', abbreviation='gp', + type='string', scope={'global', 'buffer'}, + secure=true, + vi_def=true, + expand=true, + varname='p_gp', + defaults={ + condition='UNIX', + -- Add an extra file name so that grep will always + -- insert a file name in the match line. */ + if_true={vi="grep -n $* /dev/null"}, + if_false={vi="grep -n "}, + } + }, + { + full_name='guicursor', abbreviation='gcr', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_guicursor', + defaults={if_true={vi="n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block"}} + }, + { + full_name='guifont', abbreviation='gfn', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'everything'}, + enable_if=false, + }, + { + full_name='guifontset', abbreviation='gfs', + type='string', list='comma', scope={'global'}, + vi_def=true, + redraw={'everything'}, + enable_if=false, + }, + { + full_name='guifontwide', abbreviation='gfw', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'everything'}, + enable_if=false, + }, + { + full_name='guiheadroom', abbreviation='ghr', + type='number', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=50}} + }, + { + full_name='guioptions', abbreviation='go', + type='string', list='flags', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + enable_if=false, + }, + { + full_name='guitablabel', abbreviation='gtl', + type='string', scope={'global'}, + vi_def=true, + redraw={'current_window'}, + enable_if=false, + }, + { + full_name='guitabtooltip', abbreviation='gtt', + type='string', scope={'global'}, + vi_def=true, + redraw={'current_window'}, + enable_if=false, + }, + { + full_name='helpfile', abbreviation='hf', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_hf', + defaults={if_true={vi=macros('DFLT_HELPFILE')}} + }, + { + full_name='helpheight', abbreviation='hh', + type='number', scope={'global'}, + vi_def=true, + varname='p_hh', + defaults={if_true={vi=20}} + }, + { + full_name='helplang', abbreviation='hlg', + type='string', list='comma', scope={'global'}, + vi_def=true, + varname='p_hlg', + defaults={if_true={vi=""}} + }, + { + full_name='hidden', abbreviation='hid', + type='bool', scope={'global'}, + vi_def=true, + varname='p_hid', + defaults={if_true={vi=false}} + }, + { + full_name='highlight', abbreviation='hl', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'everything'}, + varname='p_hl', + defaults={if_true={vi=macros('HIGHLIGHT_INIT')}} + }, + { + full_name='history', abbreviation='hi', + type='number', scope={'global'}, + vim=true, + varname='p_hi', + defaults={if_true={vi=0, vim=10000}} + }, + { + full_name='hkmap', abbreviation='hk', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_hkmap', + defaults={if_true={vi=false}} + }, + { + full_name='hkmapp', abbreviation='hkp', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_hkmapp', + defaults={if_true={vi=false}} + }, + { + full_name='hlsearch', abbreviation='hls', + type='bool', scope={'global'}, + vim=true, + redraw={'all_windows'}, + varname='p_hls', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='icon', + type='bool', scope={'global'}, + vi_def=true, + varname='p_icon', + defaults={if_true={vi=false}} + }, + { + full_name='iconstring', + type='string', scope={'global'}, + vi_def=true, + varname='p_iconstring', + defaults={if_true={vi=""}} + }, + { + full_name='ignorecase', abbreviation='ic', + type='bool', scope={'global'}, + vi_def=true, + varname='p_ic', + defaults={if_true={vi=false}} + }, + { + full_name='imactivatefunc', abbreviation='imaf', + type='string', scope={'global'}, + secure=true, + vi_def=true, + enable_if=false, + }, + { + full_name='imactivatekey', abbreviation='imak', + type='string', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=""}} + }, + { + full_name='imcmdline', abbreviation='imc', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=false}} + }, + { + full_name='imdisable', abbreviation='imd', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=false}} + }, + { + full_name='iminsert', abbreviation='imi', + type='number', scope={'buffer'}, + vi_def=true, + varname='p_iminsert', pv_name='p_imi', + defaults={ + condition='B_IMODE_IM', + if_true={vi=macros('B_IMODE_IM')}, + if_false={vi=macros('B_IMODE_NONE')}, + } + }, + { + full_name='imsearch', abbreviation='ims', + type='number', scope={'buffer'}, + vi_def=true, + varname='p_imsearch', pv_name='p_ims', + defaults={ + condition='B_IMODE_IM', + if_true={vi=macros('B_IMODE_IM')}, + if_false={vi=macros('B_IMODE_NONE')}, + } + }, + { + full_name='imstatusfunc', abbreviation='imsf', + type='string', scope={'global'}, + secure=true, + vi_def=true, + enable_if=false, + }, + { + full_name='include', abbreviation='inc', + type='string', scope={'global', 'buffer'}, + vi_def=true, + alloced=true, + varname='p_inc', + defaults={if_true={vi="^\\s*#\\s*include"}} + }, + { + full_name='includeexpr', abbreviation='inex', + type='string', scope={'buffer'}, + vi_def=true, + alloced=true, + varname='p_inex', + defaults={if_true={vi=""}} + }, + { + full_name='incsearch', abbreviation='is', + type='bool', scope={'global'}, + vim=true, + varname='p_is', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='indentexpr', abbreviation='inde', + type='string', scope={'buffer'}, + vi_def=true, + vim=true, + alloced=true, + varname='p_inde', + defaults={if_true={vi=""}} + }, + { + full_name='indentkeys', abbreviation='indk', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_indk', + defaults={if_true={vi="0{,0},:,0#,!^F,o,O,e"}} + }, + { + full_name='infercase', abbreviation='inf', + type='bool', scope={'buffer'}, + vi_def=true, + varname='p_inf', + defaults={if_true={vi=false}} + }, + { + full_name='insertmode', abbreviation='im', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_im', + defaults={if_true={vi=false}} + }, + { + full_name='isfname', abbreviation='isf', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_isf', + defaults={ + condition='BACKSLASH_IN_FILENAME', + -- Excluded are: & and ^ are special in cmd.exe + -- ( and ) are used in text separating fnames */ + if_true={vi="@,48-57,/,\\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="}, + if_false={vi="@,48-57,/,.,-,_,+,,,#,$,%,~,="} + } + }, + { + full_name='isident', abbreviation='isi', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_isi', + defaults={if_true={vi="@,48-57,_,192-255"}} + }, + { + full_name='iskeyword', abbreviation='isk', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vim=true, + alloced=true, + varname='p_isk', + defaults={if_true={vi="@,48-57,_", vim=macros('ISK_LATIN1')}} + }, + { + full_name='isprint', abbreviation='isp', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'all_windows'}, + varname='p_isp', + defaults={ + condition='MSWIN', + if_true={vi="@,~-255"}, + if_false={vi=macros("ISP_LATIN1")} + } + }, + { + full_name='joinspaces', abbreviation='js', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_js', + defaults={if_true={vi=true}} + }, + { + full_name='keymap', abbreviation='kmp', + type='string', scope={'buffer'}, + normal_fname_chars=true, + pri_mkrc=true, + vi_def=true, + alloced=true, + redraw={'statuslines', 'current_buffer'}, + varname='p_keymap', pv_name='p_kmap', + defaults={if_true={vi=""}} + }, + { + full_name='keymodel', abbreviation='km', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_km', + defaults={if_true={vi=""}} + }, + { + full_name='keywordprg', abbreviation='kp', + type='string', scope={'global', 'buffer'}, + secure=true, + vi_def=true, + expand=true, + varname='p_kp', + defaults={ + condition='USEMAN_S', + if_true={vi="man -s"}, + if_false={vi="man"}, + } + }, + { + full_name='langmap', abbreviation='lmap', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + vi_def=true, + varname='p_langmap', + defaults={if_true={vi=""}} + }, + { + full_name='langmenu', abbreviation='lm', + type='string', scope={'global'}, + normal_fname_chars=true, + vi_def=true, + varname='p_lm', + defaults={if_true={vi=""}} + }, + { + full_name='langnoremap', abbreviation='lnr', + type='bool', scope={'global'}, + varname='p_lnr', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='laststatus', abbreviation='ls', + type='number', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_ls', + defaults={if_true={vi=1}} + }, + { + full_name='lazyredraw', abbreviation='lz', + type='bool', scope={'global'}, + vi_def=true, + varname='p_lz', + defaults={if_true={vi=false}} + }, + { + full_name='linebreak', abbreviation='lbr', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='lines', + type='number', scope={'global'}, + no_mkrc=true, + nodefault=true, + vi_def=true, + redraw={'everything'}, + varname='Rows', + defaults={if_true={vi=macros('DFLT_ROWS')}} + }, + { + full_name='linespace', abbreviation='lsp', + type='number', scope={'global'}, + vi_def=true, + redraw={'everything'}, + enable_if=false, + }, + { + full_name='lisp', + type='bool', scope={'buffer'}, + vi_def=true, + varname='p_lisp', + defaults={if_true={vi=false}} + }, + { + full_name='lispwords', abbreviation='lw', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + varname='p_lispwords', pv_name='p_lw', + defaults={if_true={vi=macros('LISPWORD_VALUE')}} + }, + { + full_name='list', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='listchars', abbreviation='lcs', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + redraw={'all_windows'}, + varname='p_lcs', + defaults={if_true={vi="eol:$"}} + }, + { + full_name='loadplugins', abbreviation='lpl', + type='bool', scope={'global'}, + vi_def=true, + varname='p_lpl', + defaults={if_true={vi=true}} + }, + { + full_name='magic', + type='bool', scope={'global'}, + vi_def=true, + varname='p_magic', + defaults={if_true={vi=true}} + }, + { + full_name='makeef', abbreviation='mef', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_mef', + defaults={if_true={vi=""}} + }, + { + full_name='makeprg', abbreviation='mp', + type='string', scope={'global', 'buffer'}, + secure=true, + vi_def=true, + expand=true, + varname='p_mp', + defaults={if_true={vi="make"}} + }, + { + full_name='matchpairs', abbreviation='mps', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_mps', + defaults={if_true={vi="(:),{:},[:]"}} + }, + { + full_name='matchtime', abbreviation='mat', + type='number', scope={'global'}, + vi_def=true, + varname='p_mat', + defaults={if_true={vi=5}} + }, + { + full_name='maxcombine', abbreviation='mco', + type='number', scope={'global'}, + vi_def=true, + redraw={'curswant'}, + varname='p_mco', + defaults={if_true={vi=2}} + }, + { + full_name='maxfuncdepth', abbreviation='mfd', + type='number', scope={'global'}, + vi_def=true, + varname='p_mfd', + defaults={if_true={vi=100}} + }, + { + full_name='maxmapdepth', abbreviation='mmd', + type='number', scope={'global'}, + vi_def=true, + varname='p_mmd', + defaults={if_true={vi=1000}} + }, + { + full_name='maxmem', abbreviation='mm', + type='number', scope={'global'}, + vi_def=true, + varname='p_mm', + defaults={if_true={vi=macros('DFLT_MAXMEM')}} + }, + { + full_name='maxmempattern', abbreviation='mmp', + type='number', scope={'global'}, + vi_def=true, + varname='p_mmp', + defaults={if_true={vi=1000}} + }, + { + full_name='maxmemtot', abbreviation='mmt', + type='number', scope={'global'}, + vi_def=true, + varname='p_mmt', + defaults={if_true={vi=macros('DFLT_MAXMEMTOT')}} + }, + { + full_name='menuitems', abbreviation='mis', + type='number', scope={'global'}, + vi_def=true, + varname='p_mis', + defaults={if_true={vi=25}} + }, + { + full_name='mkspellmem', abbreviation='msm', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_msm', + defaults={if_true={vi="460000,2000,500"}} + }, + { + full_name='modeline', abbreviation='ml', + type='bool', scope={'buffer'}, + vim=true, + varname='p_ml', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='modelines', abbreviation='mls', + type='number', scope={'global'}, + vi_def=true, + varname='p_mls', + defaults={if_true={vi=5}} + }, + { + full_name='modifiable', abbreviation='ma', + type='bool', scope={'buffer'}, + noglob=true, + vi_def=true, + varname='p_ma', + defaults={if_true={vi=true}} + }, + { + full_name='modified', abbreviation='mod', + type='bool', scope={'buffer'}, + no_mkrc=true, + vi_def=true, + redraw={'statuslines'}, + varname='p_mod', + defaults={if_true={vi=false}} + }, + { + full_name='more', + type='bool', scope={'global'}, + vim=true, + varname='p_more', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='mouse', + type='string', list='flags', scope={'global'}, + varname='p_mouse', + defaults={if_true={vi="", vim="a"}} + }, + { + full_name='mousefocus', abbreviation='mousef', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=false}} + }, + { + full_name='mousehide', abbreviation='mh', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=true}} + }, + { + full_name='mousemodel', abbreviation='mousem', + type='string', scope={'global'}, + vi_def=true, + varname='p_mousem', + defaults={if_true={vi="extend"}} + }, + { + full_name='mouseshape', abbreviation='mouses', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + enable_if=false, + }, + { + full_name='mousetime', abbreviation='mouset', + type='number', scope={'global'}, + vi_def=true, + varname='p_mouset', + defaults={if_true={vi=500}} + }, + { + full_name='nrformats', abbreviation='nf', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + alloced=true, + varname='p_nf', + defaults={if_true={vi="octal,hex", vim="hex"}} + }, + { + full_name='number', abbreviation='nu', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='numberwidth', abbreviation='nuw', + type='number', scope={'window'}, + vim=true, + redraw={'current_window'}, + defaults={if_true={vi=8, vim=4}} + }, + { + full_name='omnifunc', abbreviation='ofu', + type='string', scope={'buffer'}, + secure=true, + vi_def=true, + alloced=true, + varname='p_ofu', + defaults={if_true={vi=""}} + }, + { + full_name='opendevice', abbreviation='odev', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=false, vim=false}} + }, + { + full_name='operatorfunc', abbreviation='opfunc', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_opfunc', + defaults={if_true={vi=""}} + }, + { + full_name='paragraphs', abbreviation='para', + type='string', scope={'global'}, + vi_def=true, + varname='p_para', + defaults={if_true={vi="IPLPPPQPP TPHPLIPpLpItpplpipbp"}} + }, + { + full_name='paste', + type='bool', scope={'global'}, + pri_mkrc=true, + vi_def=true, + varname='p_paste', + defaults={if_true={vi=false}} + }, + { + full_name='pastetoggle', abbreviation='pt', + type='string', scope={'global'}, + vi_def=true, + varname='p_pt', + defaults={if_true={vi=""}} + }, + { + full_name='patchexpr', abbreviation='pex', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_pex', + defaults={if_true={vi=""}} + }, + { + full_name='patchmode', abbreviation='pm', + type='string', scope={'global'}, + normal_fname_chars=true, + vi_def=true, + varname='p_pm', + defaults={if_true={vi=""}} + }, + { + full_name='path', abbreviation='pa', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + expand=true, + varname='p_path', + defaults={if_true={vi=".,/usr/include,,"}} + }, + { + full_name='preserveindent', abbreviation='pi', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_pi', + defaults={if_true={vi=false}} + }, + { + full_name='previewheight', abbreviation='pvh', + type='number', scope={'global'}, + vi_def=true, + varname='p_pvh', + defaults={if_true={vi=12}} + }, + { + full_name='previewwindow', abbreviation='pvw', + type='bool', scope={'window'}, + noglob=true, + vi_def=true, + redraw={'statuslines'}, + defaults={if_true={vi=false}} + }, + { + full_name='printdevice', abbreviation='pdev', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_pdev', + defaults={if_true={vi=""}} + }, + { + full_name='printencoding', abbreviation='penc', + type='string', scope={'global'}, + vi_def=true, + varname='p_penc', + defaults={if_true={vi=""}} + }, + { + full_name='printexpr', abbreviation='pexpr', + type='string', scope={'global'}, + vi_def=true, + varname='p_pexpr', + defaults={if_true={vi=""}} + }, + { + full_name='printfont', abbreviation='pfn', + type='string', scope={'global'}, + vi_def=true, + varname='p_pfn', + defaults={if_true={vi="courier"}} + }, + { + full_name='printheader', abbreviation='pheader', + type='string', scope={'global'}, + gettext=true, + vi_def=true, + varname='p_header', + defaults={if_true={vi=N_("%<%f%h%m%=Page %N")}} + }, + { + full_name='printmbcharset', abbreviation='pmbcs', + type='string', scope={'global'}, + vi_def=true, + varname='p_pmcs', + defaults={if_true={vi=""}} + }, + { + full_name='printmbfont', abbreviation='pmbfn', + type='string', scope={'global'}, + vi_def=true, + varname='p_pmfn', + defaults={if_true={vi=""}} + }, + { + full_name='printoptions', abbreviation='popt', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_popt', + defaults={if_true={vi=""}} + }, + { + full_name='prompt', + type='bool', scope={'global'}, + vi_def=true, + varname='p_prompt', + defaults={if_true={vi=true}} + }, + { + full_name='pumheight', abbreviation='ph', + type='number', scope={'global'}, + vi_def=true, + varname='p_ph', + defaults={if_true={vi=0}} + }, + { + full_name='quoteescape', abbreviation='qe', + type='string', scope={'buffer'}, + vi_def=true, + alloced=true, + varname='p_qe', + defaults={if_true={vi="\\"}} + }, + { + full_name='readonly', abbreviation='ro', + type='bool', scope={'buffer'}, + noglob=true, + vi_def=true, + redraw={'statuslines'}, + varname='p_ro', + defaults={if_true={vi=false}} + }, + { + full_name='redrawtime', abbreviation='rdt', + type='number', scope={'global'}, + vi_def=true, + varname='p_rdt', + defaults={if_true={vi=2000}} + }, + { + full_name='regexpengine', abbreviation='re', + type='number', scope={'global'}, + vi_def=true, + varname='p_re', + defaults={if_true={vi=0}} + }, + { + full_name='relativenumber', abbreviation='rnu', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='remap', + type='bool', scope={'global'}, + vi_def=true, + varname='p_remap', + defaults={if_true={vi=true}} + }, + { + full_name='report', + type='number', scope={'global'}, + vi_def=true, + varname='p_report', + defaults={if_true={vi=2}} + }, + { + full_name='restorescreen', abbreviation='rs', + type='bool', scope={'global'}, + vi_def=true, + enable_if=false, + defaults={if_true={vi=true}} + }, + { + full_name='revins', abbreviation='ri', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_ri', + defaults={if_true={vi=false}} + }, + { + full_name='rightleft', abbreviation='rl', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='rightleftcmd', abbreviation='rlc', + type='string', scope={'window'}, + vi_def=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi="search"}} + }, + { + full_name='ruler', abbreviation='ru', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + redraw={'statuslines'}, + varname='p_ru', + defaults={if_true={vi=false}} + }, + { + full_name='rulerformat', abbreviation='ruf', + type='string', scope={'global'}, + vi_def=true, + alloced=true, + redraw={'statuslines'}, + varname='p_ruf', + defaults={if_true={vi=""}} + }, + { + full_name='runtimepath', abbreviation='rtp', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + vi_def=true, + expand=true, + varname='p_rtp', + defaults={if_true={vi=macros('DFLT_RUNTIMEPATH')}} + }, + { + full_name='scroll', abbreviation='scr', + type='number', scope={'window'}, + no_mkrc=true, + vi_def=true, + pv_name='p_scroll', + defaults={if_true={vi=12}} + }, + { + full_name='scrollbind', abbreviation='scb', + type='bool', scope={'window'}, + vi_def=true, + pv_name='p_scbind', + defaults={if_true={vi=false}} + }, + { + full_name='scrolljump', abbreviation='sj', + type='number', scope={'global'}, + vi_def=true, + vim=true, + varname='p_sj', + defaults={if_true={vi=1}} + }, + { + full_name='scrolloff', abbreviation='so', + type='number', scope={'global'}, + vi_def=true, + vim=true, + redraw={'all_windows'}, + varname='p_so', + defaults={if_true={vi=0}} + }, + { + full_name='scrollopt', abbreviation='sbo', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_sbo', + defaults={if_true={vi="ver,jump"}} + }, + { + full_name='sections', abbreviation='sect', + type='string', scope={'global'}, + vi_def=true, + varname='p_sections', + defaults={if_true={vi="SHNHH HUnhsh"}} + }, + { + full_name='secure', + type='bool', scope={'global'}, + secure=true, + vi_def=true, + varname='p_secure', + defaults={if_true={vi=false}} + }, + { + full_name='selection', abbreviation='sel', + type='string', scope={'global'}, + vi_def=true, + varname='p_sel', + defaults={if_true={vi="inclusive"}} + }, + { + full_name='selectmode', abbreviation='slm', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_slm', + defaults={if_true={vi=""}} + }, + { + full_name='sessionoptions', abbreviation='ssop', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vim=true, + varname='p_ssop', + defaults={if_true={ + vi="blank,buffers,curdir,folds,help,options,tabpages,winsize", + vim="blank,buffers,curdir,folds,help,tabpages,winsize" + }} + }, + { + full_name='shell', abbreviation='sh', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_sh', + defaults={if_true={vi="sh"}} + }, + { + full_name='shellcmdflag', abbreviation='shcf', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_shcf', + defaults={if_true={vi="-c"}} + }, + { + full_name='shellpipe', abbreviation='sp', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_sp', + defaults={ + condition='UNIX', + if_true={vi="| tee"}, + if_false={vi=">"}, + } + }, + { + full_name='shellquote', abbreviation='shq', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_shq', + defaults={if_true={vi=""}} + }, + { + full_name='shellredir', abbreviation='srr', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_srr', + defaults={if_true={vi=">"}} + }, + { + full_name='shellslash', abbreviation='ssl', + type='bool', scope={'global'}, + vi_def=true, + varname='p_ssl', + enable_if='BACKSLASH_IN_FILENAME', + defaults={if_true={vi=false}} + }, + { + full_name='shelltemp', abbreviation='stmp', + type='bool', scope={'global'}, + varname='p_stmp', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='shellxquote', abbreviation='sxq', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_sxq', + defaults={if_true={vi=""}} + }, + { + full_name='shellxescape', abbreviation='sxe', + type='string', scope={'global'}, + secure=true, + vi_def=true, + varname='p_sxe', + defaults={if_true={vi=""}} + }, + { + full_name='shiftround', abbreviation='sr', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_sr', + defaults={if_true={vi=false}} + }, + { + full_name='shiftwidth', abbreviation='sw', + type='number', scope={'buffer'}, + vi_def=true, + varname='p_sw', + defaults={if_true={vi=8}} + }, + { + full_name='shortmess', abbreviation='shm', + type='string', list='flags', scope={'global'}, + vim=true, + varname='p_shm', + defaults={if_true={vi="", vim="filnxtToO"}} + }, + { + full_name='showbreak', abbreviation='sbr', + type='string', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_sbr', + defaults={if_true={vi=""}} + }, + { + full_name='showcmd', abbreviation='sc', + type='bool', scope={'global'}, + vim=true, + varname='p_sc', + defaults={ + condition='UNIX', + if_true={vi=false, vim=false}, + if_false={vi=false, vim=true}, + } + }, + { + full_name='showfulltag', abbreviation='sft', + type='bool', scope={'global'}, + vi_def=true, + varname='p_sft', + defaults={if_true={vi=false}} + }, + { + full_name='showmatch', abbreviation='sm', + type='bool', scope={'global'}, + vi_def=true, + varname='p_sm', + defaults={if_true={vi=false}} + }, + { + full_name='showmode', abbreviation='smd', + type='bool', scope={'global'}, + vim=true, + varname='p_smd', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='showtabline', abbreviation='stal', + type='number', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_stal', + defaults={if_true={vi=1}} + }, + { + full_name='sidescroll', abbreviation='ss', + type='number', scope={'global'}, + vi_def=true, + varname='p_ss', + defaults={if_true={vi=0}} + }, + { + full_name='sidescrolloff', abbreviation='siso', + type='number', scope={'global'}, + vi_def=true, + vim=true, + redraw={'current_buffer'}, + varname='p_siso', + defaults={if_true={vi=0}} + }, + { + full_name='smartcase', abbreviation='scs', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_scs', + defaults={if_true={vi=false}} + }, + { + full_name='smartindent', abbreviation='si', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_si', + defaults={if_true={vi=false}} + }, + { + full_name='smarttab', abbreviation='sta', + type='bool', scope={'global'}, + vim=true, + varname='p_sta', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='softtabstop', abbreviation='sts', + type='number', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_sts', + defaults={if_true={vi=0}} + }, + { + full_name='spell', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=false}} + }, + { + full_name='spellcapcheck', abbreviation='spc', + type='string', scope={'buffer'}, + vi_def=true, + alloced=true, + redraw={'current_buffer'}, + varname='p_spc', + defaults={if_true={vi="[.?!]\\_[\\])'\" ]\\+"}} + }, + { + full_name='spellfile', abbreviation='spf', + type='string', list='comma', scope={'buffer'}, + secure=true, + vi_def=true, + alloced=true, + expand=true, + varname='p_spf', + defaults={if_true={vi=""}} + }, + { + full_name='spelllang', abbreviation='spl', + type='string', list='comma', scope={'buffer'}, + vi_def=true, + alloced=true, + expand=true, + redraw={'current_buffer'}, + varname='p_spl', + defaults={if_true={vi="en"}} + }, + { + full_name='spellsuggest', abbreviation='sps', + type='string', list='comma', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_sps', + defaults={if_true={vi="best"}} + }, + { + full_name='splitbelow', abbreviation='sb', + type='bool', scope={'global'}, + vi_def=true, + varname='p_sb', + defaults={if_true={vi=false}} + }, + { + full_name='splitright', abbreviation='spr', + type='bool', scope={'global'}, + vi_def=true, + varname='p_spr', + defaults={if_true={vi=false}} + }, + { + full_name='startofline', abbreviation='sol', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_sol', + defaults={if_true={vi=true}} + }, + { + full_name='statusline', abbreviation='stl', + type='string', scope={'global', 'window'}, + vi_def=true, + alloced=true, + redraw={'statuslines'}, + varname='p_stl', + defaults={if_true={vi=""}} + }, + { + full_name='suffixes', abbreviation='su', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_su', + defaults={if_true={vi=".bak,~,.o,.h,.info,.swp,.obj"}} + }, + { + full_name='suffixesadd', abbreviation='sua', + type='string', list='comma', scope={'buffer'}, + deny_duplicates=true, + vi_def=true, + alloced=true, + varname='p_sua', + defaults={if_true={vi=""}} + }, + { + full_name='swapfile', abbreviation='swf', + type='bool', scope={'buffer'}, + vi_def=true, + redraw={'statuslines'}, + varname='p_swf', + defaults={if_true={vi=true}} + }, + { + full_name='swapsync', abbreviation='sws', + type='string', scope={'global'}, + vi_def=true, + varname='p_sws', + defaults={if_true={vi="fsync"}} + }, + { + full_name='switchbuf', abbreviation='swb', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_swb', + defaults={if_true={vi=""}} + }, + { + full_name='synmaxcol', abbreviation='smc', + type='number', scope={'buffer'}, + vi_def=true, + redraw={'current_buffer'}, + varname='p_smc', + defaults={if_true={vi=3000}} + }, + { + full_name='syntax', abbreviation='syn', + type='string', scope={'buffer'}, + noglob=true, + normal_fname_chars=true, + vi_def=true, + alloced=true, + varname='p_syn', + defaults={if_true={vi=""}} + }, + { + full_name='tabline', abbreviation='tal', + type='string', scope={'global'}, + vi_def=true, + redraw={'all_windows'}, + varname='p_tal', + defaults={if_true={vi=""}} + }, + { + full_name='tabpagemax', abbreviation='tpm', + type='number', scope={'global'}, + vim=true, + varname='p_tpm', + defaults={if_true={vi=10, vim=50}} + }, + { + full_name='tabstop', abbreviation='ts', + type='number', scope={'buffer'}, + vi_def=true, + redraw={'current_buffer'}, + varname='p_ts', + defaults={if_true={vi=8}} + }, + { + full_name='tagbsearch', abbreviation='tbs', + type='bool', scope={'global'}, + vi_def=true, + varname='p_tbs', + defaults={if_true={vi=true}} + }, + { + full_name='taglength', abbreviation='tl', + type='number', scope={'global'}, + vi_def=true, + varname='p_tl', + defaults={if_true={vi=0}} + }, + { + full_name='tagrelative', abbreviation='tr', + type='bool', scope={'global'}, + vim=true, + varname='p_tr', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='tags', abbreviation='tag', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + expand=true, + varname='p_tags', + defaults={if_true={vi="./tags;,tags"}} + }, + { + full_name='tagstack', abbreviation='tgst', + type='bool', scope={'global'}, + vi_def=true, + varname='p_tgst', + defaults={if_true={vi=true}} + }, + { + full_name='termbidi', abbreviation='tbidi', + type='bool', scope={'global'}, + vi_def=true, + varname='p_tbidi', + defaults={if_true={vi=false}} + }, + { + full_name='termencoding', abbreviation='tenc', + type='string', scope={'global'}, + vi_def=true, + redraw={'everything'}, + defaults={if_true={vi=""}} + }, + { + full_name='terse', + type='bool', scope={'global'}, + vi_def=true, + varname='p_terse', + defaults={if_true={vi=false}} + }, + { + full_name='textwidth', abbreviation='tw', + type='number', scope={'buffer'}, + vi_def=true, + vim=true, + redraw={'current_buffer'}, + varname='p_tw', + defaults={if_true={vi=0}} + }, + { + full_name='thesaurus', abbreviation='tsr', + type='string', list='comma', scope={'global', 'buffer'}, + deny_duplicates=true, + vi_def=true, + expand=true, + varname='p_tsr', + defaults={if_true={vi=""}} + }, + { + full_name='tildeop', abbreviation='top', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_to', + defaults={if_true={vi=false}} + }, + { + full_name='timeout', abbreviation='to', + type='bool', scope={'global'}, + vi_def=true, + varname='p_timeout', + defaults={if_true={vi=true}} + }, + { + full_name='timeoutlen', abbreviation='tm', + type='number', scope={'global'}, + vi_def=true, + varname='p_tm', + defaults={if_true={vi=1000}} + }, + { + full_name='title', + type='bool', scope={'global'}, + vi_def=true, + varname='p_title', + defaults={if_true={vi=false}} + }, + { + full_name='titlelen', + type='number', scope={'global'}, + vi_def=true, + varname='p_titlelen', + defaults={if_true={vi=85}} + }, + { + full_name='titleold', + type='string', scope={'global'}, + secure=true, + gettext=true, + no_mkrc=true, + vi_def=true, + varname='p_titleold', + defaults={if_true={vi=N_("Thanks for flying Vim")}} + }, + { + full_name='titlestring', + type='string', scope={'global'}, + vi_def=true, + varname='p_titlestring', + defaults={if_true={vi=""}} + }, + { + full_name='ttimeout', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_ttimeout', + defaults={if_true={vi=false}} + }, + { + full_name='ttimeoutlen', abbreviation='ttm', + type='number', scope={'global'}, + vi_def=true, + varname='p_ttm', + defaults={if_true={vi=-1}} + }, + { + full_name='ttyfast', abbreviation='tf', + type='bool', scope={'global'}, + no_mkrc=true, + vi_def=true, + varname='p_force_on', + defaults={if_true={vi=true}} + }, + { + full_name='undodir', abbreviation='udir', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + vi_def=true, + expand=true, + varname='p_udir', + defaults={if_true={vi="."}} + }, + { + full_name='undofile', abbreviation='udf', + type='bool', scope={'buffer'}, + vi_def=true, + vim=true, + varname='p_udf', + defaults={if_true={vi=false}} + }, + { + full_name='undolevels', abbreviation='ul', + type='number', scope={'global', 'buffer'}, + vi_def=true, + varname='p_ul', + defaults={ + condition={'!UNIX', '!WIN3264'}, + if_true={vi=100}, + if_false={vi=1000}, + } + }, + { + full_name='undoreload', abbreviation='ur', + type='number', scope={'global'}, + vi_def=true, + varname='p_ur', + defaults={if_true={vi=10000}} + }, + { + full_name='updatecount', abbreviation='uc', + type='number', scope={'global'}, + vi_def=true, + varname='p_uc', + defaults={if_true={vi=200}} + }, + { + full_name='updatetime', abbreviation='ut', + type='number', scope={'global'}, + vi_def=true, + varname='p_ut', + defaults={if_true={vi=4000}} + }, + { + full_name='verbose', abbreviation='vbs', + type='number', scope={'global'}, + vi_def=true, + varname='p_verbose', + defaults={if_true={vi=0}} + }, + { + full_name='verbosefile', abbreviation='vfile', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_vfile', + defaults={if_true={vi=""}} + }, + { + full_name='viewdir', abbreviation='vdir', + type='string', scope={'global'}, + secure=true, + vi_def=true, + expand=true, + varname='p_vdir', + defaults={if_true={vi=macros('DFLT_VDIR')}} + }, + { + full_name='viewoptions', abbreviation='vop', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_vop', + defaults={if_true={vi="folds,options,cursor"}} + }, + { + full_name='viminfo', abbreviation='vi', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + secure=true, + varname='p_viminfo', + defaults={if_true={vi="", vim="!,'100,<50,s10,h"}} + }, + { + full_name='virtualedit', abbreviation='ve', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + vim=true, + redraw={'curswant'}, + varname='p_ve', + defaults={if_true={vi="", vim=""}} + }, + { + full_name='visualbell', abbreviation='vb', + type='bool', scope={'global'}, + vi_def=true, + varname='p_vb', + defaults={if_true={vi=false}} + }, + { + full_name='warn', + type='bool', scope={'global'}, + vi_def=true, + varname='p_warn', + defaults={if_true={vi=true}} + }, + { + full_name='whichwrap', abbreviation='ww', + type='string', list='flagscomma', scope={'global'}, + vim=true, + varname='p_ww', + defaults={if_true={vi="", vim="b,s"}} + }, + { + full_name='wildchar', abbreviation='wc', + type='number', scope={'global'}, + vim=true, + varname='p_wc', + defaults={if_true={vi=macros('Ctrl_E'), vim=macros('TAB')}} + }, + { + full_name='wildcharm', abbreviation='wcm', + type='number', scope={'global'}, + vi_def=true, + varname='p_wcm', + defaults={if_true={vi=0}} + }, + { + full_name='wildignore', abbreviation='wig', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vi_def=true, + varname='p_wig', + defaults={if_true={vi=""}} + }, + { + full_name='wildignorecase', abbreviation='wic', + type='bool', scope={'global'}, + vi_def=true, + varname='p_wic', + defaults={if_true={vi=false}} + }, + { + full_name='wildmenu', abbreviation='wmnu', + type='bool', scope={'global'}, + vim=true, + varname='p_wmnu', + defaults={if_true={vi=false, vim=true}} + }, + { + full_name='wildmode', abbreviation='wim', + type='string', list='comma', scope={'global'}, + deny_duplicates=true, + vim=true, + varname='p_wim', + defaults={if_true={vi="", vim="list:longest,full"}} + }, + { + full_name='wildoptions', abbreviation='wop', + type='string', scope={'global'}, + vi_def=true, + varname='p_wop', + defaults={if_true={vi=""}} + }, + { + full_name='winaltkeys', abbreviation='wak', + type='string', scope={'global'}, + vi_def=true, + varname='p_wak', + defaults={if_true={vi="menu"}} + }, + { + full_name='window', abbreviation='wi', + type='number', scope={'global'}, + vi_def=true, + varname='p_window', + defaults={if_true={vi=0}} + }, + { + full_name='winheight', abbreviation='wh', + type='number', scope={'global'}, + vi_def=true, + varname='p_wh', + defaults={if_true={vi=1}} + }, + { + full_name='winfixheight', abbreviation='wfh', + type='bool', scope={'window'}, + vi_def=true, + redraw={'statuslines'}, + defaults={if_true={vi=false}} + }, + { + full_name='winfixwidth', abbreviation='wfw', + type='bool', scope={'window'}, + vi_def=true, + redraw={'statuslines'}, + defaults={if_true={vi=false}} + }, + { + full_name='winminheight', abbreviation='wmh', + type='number', scope={'global'}, + vi_def=true, + varname='p_wmh', + defaults={if_true={vi=1}} + }, + { + full_name='winminwidth', abbreviation='wmw', + type='number', scope={'global'}, + vi_def=true, + varname='p_wmw', + defaults={if_true={vi=1}} + }, + { + full_name='winwidth', abbreviation='wiw', + type='number', scope={'global'}, + vi_def=true, + varname='p_wiw', + defaults={if_true={vi=20}} + }, + { + full_name='wrap', + type='bool', scope={'window'}, + vi_def=true, + redraw={'current_window'}, + defaults={if_true={vi=true}} + }, + { + full_name='wrapmargin', abbreviation='wm', + type='number', scope={'buffer'}, + vi_def=true, + varname='p_wm', + defaults={if_true={vi=0}} + }, + { + full_name='wrapscan', abbreviation='ws', + type='bool', scope={'global'}, + vi_def=true, + varname='p_ws', + defaults={if_true={vi=true}} + }, + { + full_name='write', + type='bool', scope={'global'}, + vi_def=true, + varname='p_write', + defaults={if_true={vi=true}} + }, + { + full_name='writeany', abbreviation='wa', + type='bool', scope={'global'}, + vi_def=true, + varname='p_wa', + defaults={if_true={vi=false}} + }, + { + full_name='writebackup', abbreviation='wb', + type='bool', scope={'global'}, + vi_def=true, + vim=true, + varname='p_wb', + defaults={if_true={vi=true}} + }, + { + full_name='writedelay', abbreviation='wd', + type='number', scope={'global'}, + vi_def=true, + varname='p_wd', + defaults={if_true={vi=0}} + }, + } +} From 478ee680dc39f095014b49492a30996b1ac60cc9 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sun, 29 Mar 2015 01:26:48 +0300 Subject: [PATCH 3/8] scripts: Add script which is able to generate part of vim.vim file --- scripts/genvimvim.lua | 122 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 scripts/genvimvim.lua diff --git a/scripts/genvimvim.lua b/scripts/genvimvim.lua new file mode 100644 index 0000000000..582531d8f4 --- /dev/null +++ b/scripts/genvimvim.lua @@ -0,0 +1,122 @@ +if arg[1] == '--help' then + print('Usage: genoptions.lua src/nvim runtime/syntax/vim/generated.vim') + os.exit(0) +end + +local nvimsrcdir = arg[1] +local syntax_file = arg[2] + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local lld = {} +local syn_fd = io.open(syntax_file, 'w') +lld.line_length = 0 +local w = function(s) + syn_fd:write(s) + if s:find('\n') then + lld.line_length = #(s:gsub('.*\n', '')) + else + lld.line_length = lld.line_length + #s + end +end + +local options = require('options') +local auevents = require('auevents') +local ex_cmds = require('ex_cmds') + +local cmd_kw = function(prev_cmd, cmd) + if not prev_cmd then + return cmd:sub(1, 1) .. '[' .. cmd:sub(2) .. ']' + else + local shift = 1 + while cmd:sub(shift, shift) == prev_cmd:sub(shift, shift) do + shift = shift + 1 + end + if shift >= #cmd then + return cmd + else + return cmd:sub(1, shift) .. '[' .. cmd:sub(shift + 1) .. ']' + end + end +end + +vimcmd_start = 'syn keyword vimCommand contained ' +w(vimcmd_start) +local prev_cmd = nil +for _, cmd_desc in ipairs(ex_cmds) do + if lld.line_length > 850 then + w('\n' .. vimcmd_start) + end + local cmd = cmd_desc.command + if cmd:match('%w') and cmd ~= 'z' then + w(' ' .. cmd_kw(prev_cmd, cmd)) + end + prev_cmd = cmd +end + +local vimopt_start = 'syn keyword vimOption contained ' +w('\n\n' .. vimopt_start) + +for _, opt_desc in ipairs(options.options) do + if lld.line_length > 850 then + w('\n' .. vimopt_start) + end + w(' ' .. opt_desc.full_name) + if opt_desc.abbreviation then + w(' ' .. opt_desc.abbreviation) + end + if opt_desc.type == 'bool' then + w(' inv' .. opt_desc.full_name) + w(' no' .. opt_desc.full_name) + if opt_desc.abbreviation then + w(' inv' .. opt_desc.abbreviation) + w(' no' .. opt_desc.abbreviation) + end + end +end + +w('\n\nsyn case ignore') +local vimau_start = 'syn keyword vimAutoEvent contained ' +w('\n\n' .. vimau_start) + +for _, au in ipairs(auevents.events) do + if lld.line_length > 850 then + w('\n' .. vimau_start) + end + w(' ' .. au) +end +for au, _ in pairs(auevents.aliases) do + if lld.line_length > 850 then + w('\n' .. vimau_start) + end + w(' ' .. au) +end + +w('\n\nsyn case match') +local vimfun_start = 'syn keyword vimFuncName contained ' +w('\n\n' .. vimfun_start) +eval_fd = io.open(nvimsrcdir .. '/eval.c', 'r') +local started = 0 +for line in eval_fd:lines() do + if line == '} functions[] =' then + started = 1 + elseif started == 1 then + assert (line == '{') + started = 2 + elseif started == 2 then + if line == '};' then + break + end + local func_name = line:match('^ {"(%w+)",') + if func_name then + if lld.line_length > 850 then + w('\n' .. vimfun_start) + end + w(' ' .. func_name) + end + end +end +eval_fd:close() + +w('\n') +syn_fd:close() From e1cc0fe996882b5919cbc4b7d9813b389c2d6031 Mon Sep 17 00:00:00 2001 From: ZyX Date: Thu, 2 Apr 2015 19:45:34 +0300 Subject: [PATCH 4/8] cmake: Generate tags and some vim syntax elements --- CMakeLists.txt | 24 +-------------- runtime/CMakeLists.txt | 66 ++++++++++++++++++++++++++++++++++++++++++ runtime/syntax/vim.vim | 52 +++------------------------------ 3 files changed, 71 insertions(+), 71 deletions(-) create mode 100644 runtime/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 06db4f473e..700bfdf7cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -266,11 +266,6 @@ if(NOT BUSTED_OUTPUT_TYPE) set(BUSTED_OUTPUT_TYPE "utfTerminal") endif() -# CMake is painful here. It will create the destination using the user's -# current umask, and we don't want that. And we don't just want to install -# the target directory, as it will mess with existing permissions. So this -# seems like the best compromise. If we create it, then everyone can see it. -# If it's preexisting, leave it alone. include(InstallHelpers) file(GLOB MANPAGES @@ -281,24 +276,6 @@ install_helper( FILES ${MANPAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) -install_helper( - DIRECTORY runtime - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim) - -file(GLOB_RECURSE RUNTIME_PROGRAMS - RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - runtime/*.awk runtime/*.sh) - -foreach(PROG ${RUNTIME_PROGRAMS}) - get_filename_component(BASEDIR ${PROG} PATH) - install_helper(PROGRAMS ${PROG} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/${BASEDIR}) -endforeach() - -configure_file(${PROJECT_SOURCE_DIR}/cmake/GenerateHelptags.cmake.in - ${PROJECT_BINARY_DIR}/cmake/GenerateHelptags.cmake @ONLY) -install(SCRIPT ${PROJECT_BINARY_DIR}/cmake/GenerateHelptags.cmake) - - # Go down the tree. add_subdirectory(src/nvim) @@ -310,6 +287,7 @@ get_compile_flags(NVIM_VERSION_CFLAGS) add_subdirectory(test/includes) add_subdirectory(config) add_subdirectory(test/functional/fixtures) # compile pty/shell test programs +add_subdirectory(runtime) # Setup some test-related bits. We do this after going down the tree because we diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt new file mode 100644 index 0000000000..c8b4b6b3d6 --- /dev/null +++ b/runtime/CMakeLists.txt @@ -0,0 +1,66 @@ +set(SYN_VIM_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genvimvim.lua) +set(GENERATED_RUNTIME_DIR ${PROJECT_BINARY_DIR}/runtime) +set(GENERATED_SYN_VIM ${GENERATED_RUNTIME_DIR}/syntax/vim/generated.vim) +set(GENERATED_HELP_TAGS ${GENERATED_RUNTIME_DIR}/doc/tags) + +file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR}) +file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR}/syntax) +file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR}/syntax/vim) + +add_custom_command(OUTPUT ${GENERATED_SYN_VIM} + COMMAND ${LUA_PRG} ${SYN_VIM_GENERATOR} + ${PROJECT_SOURCE_DIR}/src/nvim ${GENERATED_SYN_VIM} + DEPENDS + ${SYN_VIM_GENERATOR} + ${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua + ${PROJECT_SOURCE_DIR}/src/nvim/auevents.lua + ${PROJECT_SOURCE_DIR}/src/nvim/options.lua + ${PROJECT_SOURCE_DIR}/src/nvim/eval.c +) + +file(GLOB DOCFILES ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt) + +add_custom_command(OUTPUT ${GENERATED_HELP_TAGS} + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${PROJECT_SOURCE_DIR}/runtime/doc ${GENERATED_RUNTIME_DIR}/doc + COMMAND "${PROJECT_BINARY_DIR}/bin/nvim" + -u NONE + -i NONE + -esX + -c "helptags ++t ." + -c quit + DEPENDS + ${DOCFILES} + nvim + WORKING_DIRECTORY "${HELPTAGS_WORKING_DIRECTORY}" +) + +add_custom_target( + runtime ALL + DEPENDS + ${GENERATED_SYN_VIM} + ${GENERATED_HELP_TAGS} +) + +# CMake is painful here. It will create the destination using the user's +# current umask, and we don't want that. And we don't just want to install +# the target directory, as it will mess with existing permissions. So this +# seems like the best compromise. If we create it, then everyone can see it. +# If it's preexisting, leave it alone. + +install_helper( + DIRECTORY ${PROJECT_SOURCE_DIR}/runtime + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim) +install_helper( + DIRECTORY ${GENERATED_RUNTIME_DIR} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim) + +file(GLOB_RECURSE RUNTIME_PROGRAMS + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + *.awk *.sh) + +foreach(PROG ${RUNTIME_PROGRAMS}) + get_filename_component(BASEDIR ${PROG} PATH) + install_helper(PROGRAMS ${PROG} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/${BASEDIR}) +endforeach() diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 198c159dee..9eafbc99ea 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -17,40 +17,9 @@ set cpo&vim syn keyword vimTodo contained COMBAK FIXME TODO XXX syn cluster vimCommentGroup contains=vimTodo,@Spell -" regular vim commands {{{2 -syn keyword vimCommand contained a arga[dd] ar[gs] bd[elete] bN[ext] breakd[el] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpt[ags] iabc[lear] intro k l lan lc[d] lefta[bove] lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] o ownsyntax pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] r[ead] redr[aw] retu[rn] rub[y] rv[iminfo] sba[ll] sbN[ext] scripte[ncoding] setf[iletype] sh[ell] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu -syn keyword vimCommand contained ab argd[elete] argu[ment] bel[owright] bo[tright] breakl[ist] b[uffer] cb[uffer] cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h hi if is[earch] keepa la lan[guage] lch[dir] lex[pr] lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] rec[over] redraws[tatus] rew[ind] sal[l] sbf[irst] sbp[revious] scrip[tnames] setg[lobal] si sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xunme -syn keyword vimCommand contained abc[lear] argdo as[cii] bf[irst] bp[revious] br[ewind] buffers cad[dbuffer] cc cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] ma menut[ranslate] mksp[ell] m[ove] nb[key] noa omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] red reg[isters] ri[ght] san[dbox] sbl[ast] sbr[ewind] scs setl[ocal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunmenu -syn keyword vimCommand contained abo[veleft] arge[dit] au bl[ast] br bro[wse] bun[load] cadde[xpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] mak[e] mes mkv nbs[tart] noautocmd on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r redi[r] res[ize] rightb[elow] rundo sa[rgument] sbm[odified] sb[uffer] scscope sf[ind] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xwininfo -syn keyword vimCommand contained al[l] argg[lobal] bad[d] bm[odified] brea[k] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] ma[rk] messages mkvie[w] ne noh[lsearch] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re red[o] ret[ab] ru ru[ntime] sav[eas] sbn[ext] scrip se[t] sfir[st] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme y[ank] -syn keyword vimCommand contained ar argl[ocal] ba[ll] bn[ext] breaka[dd] buf c cal[l] ce[nter] cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] le[ft] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] new nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q -syn keyword vimCommand contained helpc[lose] nos[wapfile] +" Special and plugin vim commands {{{2 syn match vimCommand contained "\