blob: 05e04064a6d5a6332ad18b48258acb5e5137d9fc [file] [log] [blame]
Bram Moolenaar0eddca42019-09-12 22:26:43 +02001/* vi:set ts=8 sts=4 sw=4 noet:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
8
9/*
10 * optiondefs.h: option definitions
11 */
12
13// The options that are local to a window or buffer have "indir" set to one of
14// these values. Special values:
15// PV_NONE: global option.
16// PV_WIN is added: window-local option
17// PV_BUF is added: buffer-local option
18// PV_BOTH is added: global option which also has a local value.
19#define PV_BOTH 0x1000
20#define PV_WIN 0x2000
21#define PV_BUF 0x4000
22#define PV_MASK 0x0fff
23#define OPT_WIN(x) (idopt_T)(PV_WIN + (int)(x))
24#define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x))
25#define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x))
26
27// Definition of the PV_ values for buffer-local options.
28// The BV_ values are defined in option.h.
29#define PV_AI OPT_BUF(BV_AI)
30#define PV_AR OPT_BOTH(OPT_BUF(BV_AR))
31#define PV_BKC OPT_BOTH(OPT_BUF(BV_BKC))
32#define PV_BH OPT_BUF(BV_BH)
33#define PV_BT OPT_BUF(BV_BT)
34#ifdef FEAT_QUICKFIX
35# define PV_EFM OPT_BOTH(OPT_BUF(BV_EFM))
36# define PV_GP OPT_BOTH(OPT_BUF(BV_GP))
37# define PV_MP OPT_BOTH(OPT_BUF(BV_MP))
38#endif
39#define PV_BIN OPT_BUF(BV_BIN)
40#define PV_BL OPT_BUF(BV_BL)
41#define PV_BOMB OPT_BUF(BV_BOMB)
42#define PV_CI OPT_BUF(BV_CI)
43#ifdef FEAT_CINDENT
44# define PV_CIN OPT_BUF(BV_CIN)
45# define PV_CINK OPT_BUF(BV_CINK)
46# define PV_CINO OPT_BUF(BV_CINO)
47#endif
48#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
49# define PV_CINW OPT_BUF(BV_CINW)
50#endif
51#define PV_CM OPT_BOTH(OPT_BUF(BV_CM))
52#ifdef FEAT_FOLDING
53# define PV_CMS OPT_BUF(BV_CMS)
54#endif
Bram Moolenaar8c96af92019-09-28 19:05:57 +020055#define PV_COM OPT_BUF(BV_COM)
Bram Moolenaar0eddca42019-09-12 22:26:43 +020056#define PV_CPT OPT_BUF(BV_CPT)
57#define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT))
58#define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR))
59#define PV_CSL OPT_BUF(BV_CSL)
60#ifdef FEAT_COMPL_FUNC
61# define PV_CFU OPT_BUF(BV_CFU)
62#endif
63#ifdef FEAT_FIND_ID
64# define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF))
65# define PV_INC OPT_BOTH(OPT_BUF(BV_INC))
66#endif
67#define PV_EOL OPT_BUF(BV_EOL)
68#define PV_FIXEOL OPT_BUF(BV_FIXEOL)
69#define PV_EP OPT_BOTH(OPT_BUF(BV_EP))
70#define PV_ET OPT_BUF(BV_ET)
71#define PV_FENC OPT_BUF(BV_FENC)
72#if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
73# define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR))
74#endif
75#define PV_FP OPT_BOTH(OPT_BUF(BV_FP))
76#ifdef FEAT_EVAL
77# define PV_FEX OPT_BUF(BV_FEX)
78#endif
79#define PV_FF OPT_BUF(BV_FF)
80#define PV_FLP OPT_BUF(BV_FLP)
81#define PV_FO OPT_BUF(BV_FO)
82#define PV_FT OPT_BUF(BV_FT)
83#define PV_IMI OPT_BUF(BV_IMI)
84#define PV_IMS OPT_BUF(BV_IMS)
85#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
86# define PV_INDE OPT_BUF(BV_INDE)
87# define PV_INDK OPT_BUF(BV_INDK)
88#endif
89#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
90# define PV_INEX OPT_BUF(BV_INEX)
91#endif
92#define PV_INF OPT_BUF(BV_INF)
93#define PV_ISK OPT_BUF(BV_ISK)
94#ifdef FEAT_CRYPT
95# define PV_KEY OPT_BUF(BV_KEY)
96#endif
97#ifdef FEAT_KEYMAP
98# define PV_KMAP OPT_BUF(BV_KMAP)
99#endif
100#define PV_KP OPT_BOTH(OPT_BUF(BV_KP))
101#ifdef FEAT_LISP
102# define PV_LISP OPT_BUF(BV_LISP)
103# define PV_LW OPT_BOTH(OPT_BUF(BV_LW))
104#endif
105#define PV_MENC OPT_BOTH(OPT_BUF(BV_MENC))
106#define PV_MA OPT_BUF(BV_MA)
107#define PV_ML OPT_BUF(BV_ML)
108#define PV_MOD OPT_BUF(BV_MOD)
109#define PV_MPS OPT_BUF(BV_MPS)
110#define PV_NF OPT_BUF(BV_NF)
111#ifdef FEAT_COMPL_FUNC
112# define PV_OFU OPT_BUF(BV_OFU)
113#endif
114#define PV_PATH OPT_BOTH(OPT_BUF(BV_PATH))
115#define PV_PI OPT_BUF(BV_PI)
116#ifdef FEAT_TEXTOBJ
117# define PV_QE OPT_BUF(BV_QE)
118#endif
119#define PV_RO OPT_BUF(BV_RO)
120#ifdef FEAT_SMARTINDENT
121# define PV_SI OPT_BUF(BV_SI)
122#endif
123#define PV_SN OPT_BUF(BV_SN)
124#ifdef FEAT_SYN_HL
125# define PV_SMC OPT_BUF(BV_SMC)
126# define PV_SYN OPT_BUF(BV_SYN)
127#endif
128#ifdef FEAT_SPELL
129# define PV_SPC OPT_BUF(BV_SPC)
130# define PV_SPF OPT_BUF(BV_SPF)
131# define PV_SPL OPT_BUF(BV_SPL)
132#endif
133#define PV_STS OPT_BUF(BV_STS)
134#ifdef FEAT_SEARCHPATH
135# define PV_SUA OPT_BUF(BV_SUA)
136#endif
137#define PV_SW OPT_BUF(BV_SW)
138#define PV_SWF OPT_BUF(BV_SWF)
139#ifdef FEAT_EVAL
140# define PV_TFU OPT_BUF(BV_TFU)
141#endif
142#define PV_TAGS OPT_BOTH(OPT_BUF(BV_TAGS))
143#define PV_TC OPT_BOTH(OPT_BUF(BV_TC))
144#define PV_TS OPT_BUF(BV_TS)
145#define PV_TW OPT_BUF(BV_TW)
146#define PV_TX OPT_BUF(BV_TX)
147#ifdef FEAT_PERSISTENT_UNDO
148# define PV_UDF OPT_BUF(BV_UDF)
149#endif
150#define PV_WM OPT_BUF(BV_WM)
151#ifdef FEAT_VARTABS
152# define PV_VSTS OPT_BUF(BV_VSTS)
153# define PV_VTS OPT_BUF(BV_VTS)
154#endif
155
156// Definition of the PV_ values for window-local options.
157// The WV_ values are defined in option.h.
158#define PV_LIST OPT_WIN(WV_LIST)
159#ifdef FEAT_ARABIC
160# define PV_ARAB OPT_WIN(WV_ARAB)
161#endif
162#ifdef FEAT_LINEBREAK
163# define PV_BRI OPT_WIN(WV_BRI)
164# define PV_BRIOPT OPT_WIN(WV_BRIOPT)
165#endif
166# define PV_WCR OPT_WIN(WV_WCR)
167#ifdef FEAT_DIFF
168# define PV_DIFF OPT_WIN(WV_DIFF)
169#endif
170#ifdef FEAT_FOLDING
171# define PV_FDC OPT_WIN(WV_FDC)
172# define PV_FEN OPT_WIN(WV_FEN)
173# define PV_FDI OPT_WIN(WV_FDI)
174# define PV_FDL OPT_WIN(WV_FDL)
175# define PV_FDM OPT_WIN(WV_FDM)
176# define PV_FML OPT_WIN(WV_FML)
177# define PV_FDN OPT_WIN(WV_FDN)
178# ifdef FEAT_EVAL
179# define PV_FDE OPT_WIN(WV_FDE)
180# define PV_FDT OPT_WIN(WV_FDT)
181# endif
182# define PV_FMR OPT_WIN(WV_FMR)
183#endif
184#ifdef FEAT_LINEBREAK
185# define PV_LBR OPT_WIN(WV_LBR)
186#endif
187#define PV_NU OPT_WIN(WV_NU)
188#define PV_RNU OPT_WIN(WV_RNU)
189#ifdef FEAT_LINEBREAK
190# define PV_NUW OPT_WIN(WV_NUW)
191#endif
192#if defined(FEAT_QUICKFIX)
193# define PV_PVW OPT_WIN(WV_PVW)
194#endif
195#ifdef FEAT_RIGHTLEFT
196# define PV_RL OPT_WIN(WV_RL)
197# define PV_RLC OPT_WIN(WV_RLC)
198#endif
199#define PV_SCBIND OPT_WIN(WV_SCBIND)
200#define PV_SCROLL OPT_WIN(WV_SCROLL)
201#define PV_SISO OPT_BOTH(OPT_WIN(WV_SISO))
202#define PV_SO OPT_BOTH(OPT_WIN(WV_SO))
203#ifdef FEAT_SPELL
204# define PV_SPELL OPT_WIN(WV_SPELL)
205#endif
206#ifdef FEAT_SYN_HL
207# define PV_CUC OPT_WIN(WV_CUC)
208# define PV_CUL OPT_WIN(WV_CUL)
209# define PV_CULOPT OPT_WIN(WV_CULOPT)
210# define PV_CC OPT_WIN(WV_CC)
211#endif
Bram Moolenaaree857022019-11-09 23:26:40 +0100212#ifdef FEAT_LINEBREAK
213# define PV_SBR OPT_BOTH(OPT_WIN(WV_SBR))
214#endif
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200215#ifdef FEAT_STL_OPT
216# define PV_STL OPT_BOTH(OPT_WIN(WV_STL))
217#endif
218#define PV_UL OPT_BOTH(OPT_BUF(BV_UL))
219# define PV_WFH OPT_WIN(WV_WFH)
220# define PV_WFW OPT_WIN(WV_WFW)
221#define PV_WRAP OPT_WIN(WV_WRAP)
222#define PV_CRBIND OPT_WIN(WV_CRBIND)
223#ifdef FEAT_CONCEAL
224# define PV_COCU OPT_WIN(WV_COCU)
225# define PV_COLE OPT_WIN(WV_COLE)
226#endif
227#ifdef FEAT_TERMINAL
228# define PV_TWK OPT_WIN(WV_TWK)
229# define PV_TWS OPT_WIN(WV_TWS)
230# define PV_TWSL OPT_BUF(BV_TWSL)
231#endif
232#ifdef FEAT_SIGNS
233# define PV_SCL OPT_WIN(WV_SCL)
234#endif
235
236// WV_ and BV_ values get typecasted to this for the "indir" field
237typedef enum
238{
239 PV_NONE = 0,
240 PV_MAXVAL = 0xffff // to avoid warnings for value out of range
241} idopt_T;
242
243// Options local to a window have a value local to a buffer and global to all
244// buffers. Indicate this by setting "var" to VAR_WIN.
245#define VAR_WIN ((char_u *)-1)
246
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200247// Saved values for when 'bin' is set.
248static int p_et_nobin;
249static int p_ml_nobin;
250static long p_tw_nobin;
251static long p_wm_nobin;
252
253// Saved values for when 'paste' is set
254static int p_ai_nopaste;
255static int p_et_nopaste;
256static long p_sts_nopaste;
257static long p_tw_nopaste;
258static long p_wm_nopaste;
259#ifdef FEAT_VARTABS
260static char_u *p_vsts_nopaste;
261#endif
262
263struct vimoption
264{
265 char *fullname; // full option name
266 char *shortname; // permissible abbreviation
267 long_u flags; // see below
268 char_u *var; // global option: pointer to variable;
269 // window-local option: VAR_WIN;
270 // buffer-local option: global value
271 idopt_T indir; // global option: PV_NONE;
272 // local option: indirect option index
273 char_u *def_val[2]; // default values for variable (vi and vim)
274#ifdef FEAT_EVAL
275 sctx_T script_ctx; // script context where the option was last set
276# define SCTX_INIT , {0, 0, 0, 1}
277#else
278# define SCTX_INIT
279#endif
280};
281
282#define VI_DEFAULT 0 // def_val[VI_DEFAULT] is Vi default value
283#define VIM_DEFAULT 1 // def_val[VIM_DEFAULT] is Vim default value
284
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200285#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
286
287// 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used
288// for the currency sign.
289#if defined(MSWIN)
290# define ISP_LATIN1 (char_u *)"@,~-255"
291#else
292# define ISP_LATIN1 (char_u *)"@,161-255"
293#endif
294
Bram Moolenaarefae76a2019-10-27 22:54:58 +0100295# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC"
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200296
297// Default python version for pyx* commands
298#if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
299# define DEFAULT_PYTHON_VER 0
300#elif defined(FEAT_PYTHON3)
301# define DEFAULT_PYTHON_VER 3
302#elif defined(FEAT_PYTHON)
303# define DEFAULT_PYTHON_VER 2
304#else
305# define DEFAULT_PYTHON_VER 0
306#endif
307
308// used for 'cinkeys' and 'indentkeys'
309#define INDENTKEYS_DEFAULT (char_u *)"0{,0},0),0],:,0#,!^F,o,O,e"
310
311// options[] is initialized here.
312// The order of the options MUST be alphabetic for ":set all" and findoption().
313// All option names MUST start with a lowercase letter (for findoption()).
314// Exception: "t_" options are at the end.
315// The options with a NULL variable are 'hidden': a set command for them is
316// ignored and they are not printed.
317static struct vimoption options[] =
318{
319 {"aleph", "al", P_NUM|P_VI_DEF|P_CURSWANT,
320#ifdef FEAT_RIGHTLEFT
321 (char_u *)&p_aleph, PV_NONE,
322#else
323 (char_u *)NULL, PV_NONE,
324#endif
325 {
326#if defined(MSWIN) && !defined(FEAT_GUI_MSWIN)
327 (char_u *)128L,
328#else
329 (char_u *)224L,
330#endif
331 (char_u *)0L} SCTX_INIT},
332 {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
333#if defined(FEAT_GUI_MAC)
334 (char_u *)&p_antialias, PV_NONE,
335 {(char_u *)FALSE, (char_u *)FALSE}
336#else
337 (char_u *)NULL, PV_NONE,
338 {(char_u *)FALSE, (char_u *)FALSE}
339#endif
340 SCTX_INIT},
341 {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT,
342#ifdef FEAT_ARABIC
343 (char_u *)VAR_WIN, PV_ARAB,
344#else
345 (char_u *)NULL, PV_NONE,
346#endif
347 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
348 {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
349#ifdef FEAT_ARABIC
350 (char_u *)&p_arshape, PV_NONE,
351#else
352 (char_u *)NULL, PV_NONE,
353#endif
354 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
355 {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM,
356#ifdef FEAT_RIGHTLEFT
357 (char_u *)&p_ari, PV_NONE,
358#else
359 (char_u *)NULL, PV_NONE,
360#endif
361 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
362 {"altkeymap", "akm", P_BOOL|P_VI_DEF,
363 (char_u *)NULL, PV_NONE,
364 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
365 {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR,
366 (char_u *)&p_ambw, PV_NONE,
367 {(char_u *)"single", (char_u *)0L}
368 SCTX_INIT},
369 {"autochdir", "acd", P_BOOL|P_VI_DEF,
370#ifdef FEAT_AUTOCHDIR
371 (char_u *)&p_acd, PV_NONE,
372 {(char_u *)FALSE, (char_u *)0L}
373#else
374 (char_u *)NULL, PV_NONE,
375 {(char_u *)0L, (char_u *)0L}
376#endif
377 SCTX_INIT},
378 {"autoindent", "ai", P_BOOL|P_VI_DEF,
379 (char_u *)&p_ai, PV_AI,
380 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
381 {"autoprint", "ap", P_BOOL|P_VI_DEF,
382 (char_u *)NULL, PV_NONE,
383 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
384 {"autoread", "ar", P_BOOL|P_VI_DEF,
385 (char_u *)&p_ar, PV_AR,
386 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
387 {"autowrite", "aw", P_BOOL|P_VI_DEF,
388 (char_u *)&p_aw, PV_NONE,
389 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
390 {"autowriteall","awa", P_BOOL|P_VI_DEF,
391 (char_u *)&p_awa, PV_NONE,
392 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
393 {"background", "bg", P_STRING|P_VI_DEF|P_RCLR,
394 (char_u *)&p_bg, PV_NONE,
395 {
396#if (defined(MSWIN)) && !defined(FEAT_GUI)
397 (char_u *)"dark",
398#else
399 (char_u *)"light",
400#endif
401 (char_u *)0L} SCTX_INIT},
402 {"backspace", "bs", P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP,
403 (char_u *)&p_bs, PV_NONE,
404 {(char_u *)"", (char_u *)0L} SCTX_INIT},
405 {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM,
406 (char_u *)&p_bk, PV_NONE,
407 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
408 {"backupcopy", "bkc", P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
409 (char_u *)&p_bkc, PV_BKC,
410#ifdef UNIX
411 {(char_u *)"yes", (char_u *)"auto"}
412#else
413 {(char_u *)"auto", (char_u *)"auto"}
414#endif
415 SCTX_INIT},
416 {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
417 |P_NODUP|P_SECURE,
418 (char_u *)&p_bdir, PV_NONE,
419 {(char_u *)DFLT_BDIR, (char_u *)0L} SCTX_INIT},
420 {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME,
421 (char_u *)&p_bex, PV_NONE,
422 {
423#ifdef VMS
424 (char_u *)"_",
425#else
426 (char_u *)"~",
427#endif
428 (char_u *)0L} SCTX_INIT},
429 {"backupskip", "bsk", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
430#ifdef FEAT_WILDIGN
431 (char_u *)&p_bsk, PV_NONE,
432 {(char_u *)"", (char_u *)0L}
433#else
434 (char_u *)NULL, PV_NONE,
435 {(char_u *)0L, (char_u *)0L}
436#endif
437 SCTX_INIT},
438 {"balloondelay","bdlay",P_NUM|P_VI_DEF,
439#ifdef FEAT_BEVAL
440 (char_u *)&p_bdlay, PV_NONE,
441 {(char_u *)600L, (char_u *)0L}
442#else
443 (char_u *)NULL, PV_NONE,
444 {(char_u *)0L, (char_u *)0L}
445#endif
446 SCTX_INIT},
447 {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC,
448#ifdef FEAT_BEVAL_GUI
449 (char_u *)&p_beval, PV_NONE,
450 {(char_u *)FALSE, (char_u *)0L}
451#else
452 (char_u *)NULL, PV_NONE,
453 {(char_u *)0L, (char_u *)0L}
454#endif
455 SCTX_INIT},
456 {"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC,
457#ifdef FEAT_BEVAL_TERM
458 (char_u *)&p_bevalterm, PV_NONE,
459 {(char_u *)FALSE, (char_u *)0L}
460#else
461 (char_u *)NULL, PV_NONE,
462 {(char_u *)0L, (char_u *)0L}
463#endif
464 SCTX_INIT},
465 {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
466#if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
467 (char_u *)&p_bexpr, PV_BEXPR,
468 {(char_u *)"", (char_u *)0L}
469#else
470 (char_u *)NULL, PV_NONE,
471 {(char_u *)0L, (char_u *)0L}
472#endif
473 SCTX_INIT},
474 {"beautify", "bf", P_BOOL|P_VI_DEF,
475 (char_u *)NULL, PV_NONE,
476 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
477 {"belloff", "bo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
478 (char_u *)&p_bo, PV_NONE,
479 {(char_u *)"", (char_u *)0L} SCTX_INIT},
480 {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT,
481 (char_u *)&p_bin, PV_BIN,
482 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
483 {"bioskey", "biosk",P_BOOL|P_VI_DEF,
484 (char_u *)NULL, PV_NONE,
485 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
486 {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
487 (char_u *)&p_bomb, PV_BOMB,
488 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
489 {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
490#ifdef FEAT_LINEBREAK
491 (char_u *)&p_breakat, PV_NONE,
492 {(char_u *)" \t!@*-+;:,./?", (char_u *)0L}
493#else
494 (char_u *)NULL, PV_NONE,
495 {(char_u *)0L, (char_u *)0L}
496#endif
497 SCTX_INIT},
498 {"breakindent", "bri", P_BOOL|P_VI_DEF|P_VIM|P_RWIN,
499#ifdef FEAT_LINEBREAK
500 (char_u *)VAR_WIN, PV_BRI,
501 {(char_u *)FALSE, (char_u *)0L}
502#else
503 (char_u *)NULL, PV_NONE,
504 {(char_u *)0L, (char_u *)0L}
505#endif
506 SCTX_INIT},
507 {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF
508 |P_ONECOMMA|P_NODUP,
509#ifdef FEAT_LINEBREAK
510 (char_u *)VAR_WIN, PV_BRIOPT,
511 {(char_u *)"", (char_u *)NULL}
512#else
513 (char_u *)NULL, PV_NONE,
514 {(char_u *)"", (char_u *)NULL}
515#endif
516 SCTX_INIT},
517 {"browsedir", "bsdir",P_STRING|P_VI_DEF,
518#ifdef FEAT_BROWSE
519 (char_u *)&p_bsdir, PV_NONE,
520 {(char_u *)"last", (char_u *)0L}
521#else
522 (char_u *)NULL, PV_NONE,
523 {(char_u *)0L, (char_u *)0L}
524#endif
525 SCTX_INIT},
526 {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
527 (char_u *)&p_bh, PV_BH,
528 {(char_u *)"", (char_u *)0L}
529 SCTX_INIT},
530 {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB,
531 (char_u *)&p_bl, PV_BL,
532 {(char_u *)1L, (char_u *)0L}
533 SCTX_INIT},
534 {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB,
535 (char_u *)&p_bt, PV_BT,
536 {(char_u *)"", (char_u *)0L}
537 SCTX_INIT},
538 {"casemap", "cmp", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
539 (char_u *)&p_cmp, PV_NONE,
540 {(char_u *)"internal,keepascii", (char_u *)0L}
541 SCTX_INIT},
542 {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP,
543#ifdef FEAT_SEARCHPATH
544 (char_u *)&p_cdpath, PV_NONE,
545 {(char_u *)",,", (char_u *)0L}
546#else
547 (char_u *)NULL, PV_NONE,
548 {(char_u *)0L, (char_u *)0L}
549#endif
550 SCTX_INIT},
551 {"cedit", NULL, P_STRING,
552#ifdef FEAT_CMDWIN
553 (char_u *)&p_cedit, PV_NONE,
554 {(char_u *)"", (char_u *)CTRL_F_STR}
555#else
556 (char_u *)NULL, PV_NONE,
557 {(char_u *)0L, (char_u *)0L}
558#endif
559 SCTX_INIT},
560 {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE,
561#if defined(FEAT_EVAL)
562 (char_u *)&p_ccv, PV_NONE,
563 {(char_u *)"", (char_u *)0L}
564#else
565 (char_u *)NULL, PV_NONE,
566 {(char_u *)0L, (char_u *)0L}
567#endif
568 SCTX_INIT},
569 {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM,
570#ifdef FEAT_CINDENT
571 (char_u *)&p_cin, PV_CIN,
572#else
573 (char_u *)NULL, PV_NONE,
574#endif
575 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
576 {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
577#ifdef FEAT_CINDENT
578 (char_u *)&p_cink, PV_CINK,
579 {INDENTKEYS_DEFAULT, (char_u *)0L}
580#else
581 (char_u *)NULL, PV_NONE,
582 {(char_u *)0L, (char_u *)0L}
583#endif
584 SCTX_INIT},
585 {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
586#ifdef FEAT_CINDENT
587 (char_u *)&p_cino, PV_CINO,
588#else
589 (char_u *)NULL, PV_NONE,
590#endif
591 {(char_u *)"", (char_u *)0L} SCTX_INIT},
592 {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
593#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
594 (char_u *)&p_cinw, PV_CINW,
595 {(char_u *)"if,else,while,do,for,switch",
596 (char_u *)0L}
597#else
598 (char_u *)NULL, PV_NONE,
599 {(char_u *)0L, (char_u *)0L}
600#endif
601 SCTX_INIT},
602 {"clipboard", "cb", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
603#ifdef FEAT_CLIPBOARD
604 (char_u *)&p_cb, PV_NONE,
605# ifdef FEAT_XCLIPBOARD
606 {(char_u *)"autoselect,exclude:cons\\|linux",
607 (char_u *)0L}
608# else
609 {(char_u *)"", (char_u *)0L}
610# endif
611#else
612 (char_u *)NULL, PV_NONE,
613 {(char_u *)"", (char_u *)0L}
614#endif
615 SCTX_INIT},
616 {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL,
617 (char_u *)&p_ch, PV_NONE,
618 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
619 {"cmdwinheight", "cwh", P_NUM|P_VI_DEF,
620#ifdef FEAT_CMDWIN
621 (char_u *)&p_cwh, PV_NONE,
622#else
623 (char_u *)NULL, PV_NONE,
624#endif
625 {(char_u *)7L, (char_u *)0L} SCTX_INIT},
626 {"colorcolumn", "cc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
627#ifdef FEAT_SYN_HL
628 (char_u *)VAR_WIN, PV_CC,
629#else
630 (char_u *)NULL, PV_NONE,
631#endif
632 {(char_u *)"", (char_u *)0L} SCTX_INIT},
633 {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
634 (char_u *)&Columns, PV_NONE,
635 {(char_u *)80L, (char_u *)0L} SCTX_INIT},
636 {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
637 |P_NODUP|P_CURSWANT,
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200638 (char_u *)&p_com, PV_COM,
639 {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-",
640 (char_u *)0L}
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200641 SCTX_INIT},
642 {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
643#ifdef FEAT_FOLDING
644 (char_u *)&p_cms, PV_CMS,
645 {(char_u *)"/*%s*/", (char_u *)0L}
646#else
647 (char_u *)NULL, PV_NONE,
648 {(char_u *)0L, (char_u *)0L}
649#endif
650 SCTX_INIT},
651 // P_PRI_MKRC isn't needed here, optval_default()
652 // always returns TRUE for 'compatible'
653 {"compatible", "cp", P_BOOL|P_RALL,
654 (char_u *)&p_cp, PV_NONE,
655 {(char_u *)TRUE, (char_u *)FALSE} SCTX_INIT},
656 {"complete", "cpt", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
657 (char_u *)&p_cpt, PV_CPT,
658 {(char_u *)".,w,b,u,t,i", (char_u *)0L}
659 SCTX_INIT},
660 {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
661#ifdef FEAT_CONCEAL
662 (char_u *)VAR_WIN, PV_COCU,
663 {(char_u *)"", (char_u *)NULL}
664#else
665 (char_u *)NULL, PV_NONE,
666 {(char_u *)NULL, (char_u *)0L}
667#endif
668 SCTX_INIT},
669 {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF,
670#ifdef FEAT_CONCEAL
671 (char_u *)VAR_WIN, PV_COLE,
672#else
673 (char_u *)NULL, PV_NONE,
674#endif
675 {(char_u *)0L, (char_u *)0L}
676 SCTX_INIT},
677 {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
678#ifdef FEAT_COMPL_FUNC
679 (char_u *)&p_cfu, PV_CFU,
680 {(char_u *)"", (char_u *)0L}
681#else
682 (char_u *)NULL, PV_NONE,
683 {(char_u *)0L, (char_u *)0L}
684#endif
685 SCTX_INIT},
686 {"completeopt", "cot", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
687 (char_u *)&p_cot, PV_NONE,
688 {(char_u *)"menu,preview", (char_u *)0L}
689 SCTX_INIT},
690 {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
691#if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
692 (char_u *)&p_cpp, PV_NONE,
693 {(char_u *)"", (char_u *)0L}
694#else
695 (char_u *)NULL, PV_NONE,
696 {(char_u *)NULL, (char_u *)0L}
697#endif
698 SCTX_INIT},
699 {"completeslash", "csl", P_STRING|P_VI_DEF|P_VIM,
700#if defined(BACKSLASH_IN_FILENAME)
701 (char_u *)&p_csl, PV_CSL,
702 {(char_u *)"", (char_u *)0L}
703#else
704 (char_u *)NULL, PV_NONE,
705 {(char_u *)0L, (char_u *)0L}
706#endif
707 SCTX_INIT},
708 {"confirm", "cf", P_BOOL|P_VI_DEF,
709#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
710 (char_u *)&p_confirm, PV_NONE,
711#else
712 (char_u *)NULL, PV_NONE,
713#endif
714 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
715 {"conskey", "consk",P_BOOL|P_VI_DEF,
716 (char_u *)NULL, PV_NONE,
717 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
718 {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM,
719 (char_u *)&p_ci, PV_CI,
720 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
721 {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST,
722 (char_u *)&p_cpo, PV_NONE,
723 {(char_u *)CPO_VI, (char_u *)CPO_VIM}
724 SCTX_INIT},
725 {"cryptmethod", "cm", P_STRING|P_ALLOCED|P_VI_DEF,
726#ifdef FEAT_CRYPT
727 (char_u *)&p_cm, PV_CM,
728 {(char_u *)"blowfish2", (char_u *)0L}
729#else
730 (char_u *)NULL, PV_NONE,
731 {(char_u *)0L, (char_u *)0L}
732#endif
733 SCTX_INIT},
734 {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM,
735#ifdef FEAT_CSCOPE
736 (char_u *)&p_cspc, PV_NONE,
737#else
738 (char_u *)NULL, PV_NONE,
739#endif
740 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
741 {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
742#ifdef FEAT_CSCOPE
743 (char_u *)&p_csprg, PV_NONE,
744 {(char_u *)"cscope", (char_u *)0L}
745#else
746 (char_u *)NULL, PV_NONE,
747 {(char_u *)0L, (char_u *)0L}
748#endif
749 SCTX_INIT},
750 {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
751#if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX)
752 (char_u *)&p_csqf, PV_NONE,
753 {(char_u *)"", (char_u *)0L}
754#else
755 (char_u *)NULL, PV_NONE,
756 {(char_u *)0L, (char_u *)0L}
757#endif
758 SCTX_INIT},
759 {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM,
760#ifdef FEAT_CSCOPE
761 (char_u *)&p_csre, PV_NONE,
762#else
763 (char_u *)NULL, PV_NONE,
764#endif
765 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
766 {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM,
767#ifdef FEAT_CSCOPE
768 (char_u *)&p_cst, PV_NONE,
769#else
770 (char_u *)NULL, PV_NONE,
771#endif
772 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
773 {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM,
774#ifdef FEAT_CSCOPE
775 (char_u *)&p_csto, PV_NONE,
776#else
777 (char_u *)NULL, PV_NONE,
778#endif
779 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
780 {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM,
781#ifdef FEAT_CSCOPE
782 (char_u *)&p_csverbose, PV_NONE,
783#else
784 (char_u *)NULL, PV_NONE,
785#endif
786 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
787 {"cursorbind", "crb", P_BOOL|P_VI_DEF,
788 (char_u *)VAR_WIN, PV_CRBIND,
789 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
790 {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY,
791#ifdef FEAT_SYN_HL
792 (char_u *)VAR_WIN, PV_CUC,
793#else
794 (char_u *)NULL, PV_NONE,
795#endif
796 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
797 {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWINONLY,
798#ifdef FEAT_SYN_HL
799 (char_u *)VAR_WIN, PV_CUL,
800#else
801 (char_u *)NULL, PV_NONE,
802#endif
803 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
Bram Moolenaar017ba072019-09-14 21:01:23 +0200804 {"cursorlineopt", "culopt", P_STRING|P_VI_DEF|P_RWIN|P_ONECOMMA|P_NODUP,
Bram Moolenaar0eddca42019-09-12 22:26:43 +0200805#ifdef FEAT_SYN_HL
806 (char_u *)VAR_WIN, PV_CULOPT,
807#else
808 (char_u *)NULL, PV_NONE,
809#endif
810 {(char_u *)"both", (char_u *)0L} SCTX_INIT},
811 {"debug", NULL, P_STRING|P_VI_DEF,
812 (char_u *)&p_debug, PV_NONE,
813 {(char_u *)"", (char_u *)0L} SCTX_INIT},
814 {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
815#ifdef FEAT_FIND_ID
816 (char_u *)&p_def, PV_DEF,
817 {(char_u *)"^\\s*#\\s*define", (char_u *)0L}
818#else
819 (char_u *)NULL, PV_NONE,
820 {(char_u *)NULL, (char_u *)0L}
821#endif
822 SCTX_INIT},
823 {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM,
824 (char_u *)&p_deco, PV_NONE,
825 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
826 {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
827 (char_u *)&p_dict, PV_DICT,
828 {(char_u *)"", (char_u *)0L} SCTX_INIT},
829 {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB,
830#ifdef FEAT_DIFF
831 (char_u *)VAR_WIN, PV_DIFF,
832#else
833 (char_u *)NULL, PV_NONE,
834#endif
835 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
836 {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT,
837#if defined(FEAT_DIFF) && defined(FEAT_EVAL)
838 (char_u *)&p_dex, PV_NONE,
839 {(char_u *)"", (char_u *)0L}
840#else
841 (char_u *)NULL, PV_NONE,
842 {(char_u *)0L, (char_u *)0L}
843#endif
844 SCTX_INIT},
845 {"diffopt", "dip", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_ONECOMMA
846 |P_NODUP,
847#ifdef FEAT_DIFF
848 (char_u *)&p_dip, PV_NONE,
849 {(char_u *)"internal,filler", (char_u *)NULL}
850#else
851 (char_u *)NULL, PV_NONE,
852 {(char_u *)"", (char_u *)NULL}
853#endif
854 SCTX_INIT},
855 {"digraph", "dg", P_BOOL|P_VI_DEF|P_VIM,
856#ifdef FEAT_DIGRAPHS
857 (char_u *)&p_dg, PV_NONE,
858#else
859 (char_u *)NULL, PV_NONE,
860#endif
861 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
862 {"directory", "dir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA
863 |P_NODUP|P_SECURE,
864 (char_u *)&p_dir, PV_NONE,
865 {(char_u *)DFLT_DIR, (char_u *)0L} SCTX_INIT},
866 {"display", "dy", P_STRING|P_VI_DEF|P_ONECOMMA|P_RALL|P_NODUP,
867 (char_u *)&p_dy, PV_NONE,
868 {(char_u *)"", (char_u *)0L} SCTX_INIT},
869 {"eadirection", "ead", P_STRING|P_VI_DEF,
870 (char_u *)&p_ead, PV_NONE,
871 {(char_u *)"both", (char_u *)0L}
872 SCTX_INIT},
873 {"edcompatible","ed", P_BOOL|P_VI_DEF,
874 (char_u *)&p_ed, PV_NONE,
875 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
876 {"emoji", "emo", P_BOOL|P_VI_DEF|P_RCLR,
877 (char_u *)&p_emoji, PV_NONE,
878 {(char_u *)TRUE, (char_u *)0L}
879 SCTX_INIT},
880 {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR|P_NO_ML,
881 (char_u *)&p_enc, PV_NONE,
882 {(char_u *)ENC_DFLT, (char_u *)0L}
883 SCTX_INIT},
884 {"endofline", "eol", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
885 (char_u *)&p_eol, PV_EOL,
886 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
887 {"equalalways", "ea", P_BOOL|P_VI_DEF|P_RALL,
888 (char_u *)&p_ea, PV_NONE,
889 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
890 {"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
891 (char_u *)&p_ep, PV_EP,
892 {(char_u *)"", (char_u *)0L} SCTX_INIT},
893 {"errorbells", "eb", P_BOOL|P_VI_DEF,
894 (char_u *)&p_eb, PV_NONE,
895 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
896 {"errorfile", "ef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
897#ifdef FEAT_QUICKFIX
898 (char_u *)&p_ef, PV_NONE,
899 {(char_u *)DFLT_ERRORFILE, (char_u *)0L}
900#else
901 (char_u *)NULL, PV_NONE,
902 {(char_u *)NULL, (char_u *)0L}
903#endif
904 SCTX_INIT},
905 {"errorformat", "efm", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
906#ifdef FEAT_QUICKFIX
907 (char_u *)&p_efm, PV_EFM,
908 {(char_u *)DFLT_EFM, (char_u *)0L}
909#else
910 (char_u *)NULL, PV_NONE,
911 {(char_u *)NULL, (char_u *)0L}
912#endif
913 SCTX_INIT},
914 {"esckeys", "ek", P_BOOL|P_VIM,
915 (char_u *)&p_ek, PV_NONE,
916 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
917 {"eventignore", "ei", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
918 (char_u *)&p_ei, PV_NONE,
919 {(char_u *)"", (char_u *)0L} SCTX_INIT},
920 {"expandtab", "et", P_BOOL|P_VI_DEF|P_VIM,
921 (char_u *)&p_et, PV_ET,
922 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
923 {"exrc", "ex", P_BOOL|P_VI_DEF|P_SECURE,
924 (char_u *)&p_exrc, PV_NONE,
925 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
926 {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF
927 |P_NO_MKRC,
928 (char_u *)&p_fenc, PV_FENC,
929 {(char_u *)"", (char_u *)0L}
930 SCTX_INIT},
931 {"fileencodings","fencs", P_STRING|P_VI_DEF|P_ONECOMMA,
932 (char_u *)&p_fencs, PV_NONE,
933 {(char_u *)"ucs-bom", (char_u *)0L}
934 SCTX_INIT},
935 {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC
936 |P_CURSWANT,
937 (char_u *)&p_ff, PV_FF,
938 {(char_u *)DFLT_FF, (char_u *)0L} SCTX_INIT},
939 {"fileformats", "ffs", P_STRING|P_VIM|P_ONECOMMA|P_NODUP,
940 (char_u *)&p_ffs, PV_NONE,
941 {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM}
942 SCTX_INIT},
943 {"fileignorecase", "fic", P_BOOL|P_VI_DEF,
944 (char_u *)&p_fic, PV_NONE,
945 {
946#ifdef CASE_INSENSITIVE_FILENAME
947 (char_u *)TRUE,
948#else
949 (char_u *)FALSE,
950#endif
951 (char_u *)0L} SCTX_INIT},
952 {"filetype", "ft", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
953 (char_u *)&p_ft, PV_FT,
954 {(char_u *)"", (char_u *)0L}
955 SCTX_INIT},
956 {"fillchars", "fcs", P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
957 (char_u *)&p_fcs, PV_NONE,
958 {(char_u *)"vert:|,fold:-", (char_u *)0L}
959 SCTX_INIT},
960 {"fixendofline", "fixeol", P_BOOL|P_VI_DEF|P_RSTAT,
961 (char_u *)&p_fixeol, PV_FIXEOL,
962 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
963 {"fkmap", "fk", P_BOOL|P_VI_DEF,
964 (char_u *)NULL, PV_NONE,
965 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
966 {"flash", "fl", P_BOOL|P_VI_DEF,
967 (char_u *)NULL, PV_NONE,
968 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
969 {"foldclose", "fcl", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
970#ifdef FEAT_FOLDING
971 (char_u *)&p_fcl, PV_NONE,
972 {(char_u *)"", (char_u *)0L}
973#else
974 (char_u *)NULL, PV_NONE,
975 {(char_u *)NULL, (char_u *)0L}
976#endif
977 SCTX_INIT},
978 {"foldcolumn", "fdc", P_NUM|P_VI_DEF|P_RWIN,
979#ifdef FEAT_FOLDING
980 (char_u *)VAR_WIN, PV_FDC,
981 {(char_u *)FALSE, (char_u *)0L}
982#else
983 (char_u *)NULL, PV_NONE,
984 {(char_u *)NULL, (char_u *)0L}
985#endif
986 SCTX_INIT},
987 {"foldenable", "fen", P_BOOL|P_VI_DEF|P_RWIN,
988#ifdef FEAT_FOLDING
989 (char_u *)VAR_WIN, PV_FEN,
990 {(char_u *)TRUE, (char_u *)0L}
991#else
992 (char_u *)NULL, PV_NONE,
993 {(char_u *)NULL, (char_u *)0L}
994#endif
995 SCTX_INIT},
996 {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
997#if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
998 (char_u *)VAR_WIN, PV_FDE,
999 {(char_u *)"0", (char_u *)NULL}
1000#else
1001 (char_u *)NULL, PV_NONE,
1002 {(char_u *)NULL, (char_u *)0L}
1003#endif
1004 SCTX_INIT},
1005 {"foldignore", "fdi", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
1006#ifdef FEAT_FOLDING
1007 (char_u *)VAR_WIN, PV_FDI,
1008 {(char_u *)"#", (char_u *)NULL}
1009#else
1010 (char_u *)NULL, PV_NONE,
1011 {(char_u *)NULL, (char_u *)0L}
1012#endif
1013 SCTX_INIT},
1014 {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN,
1015#ifdef FEAT_FOLDING
1016 (char_u *)VAR_WIN, PV_FDL,
1017 {(char_u *)0L, (char_u *)0L}
1018#else
1019 (char_u *)NULL, PV_NONE,
1020 {(char_u *)NULL, (char_u *)0L}
1021#endif
1022 SCTX_INIT},
1023 {"foldlevelstart","fdls", P_NUM|P_VI_DEF|P_CURSWANT,
1024#ifdef FEAT_FOLDING
1025 (char_u *)&p_fdls, PV_NONE,
1026 {(char_u *)-1L, (char_u *)0L}
1027#else
1028 (char_u *)NULL, PV_NONE,
1029 {(char_u *)NULL, (char_u *)0L}
1030#endif
1031 SCTX_INIT},
1032 {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|
1033 P_RWIN|P_ONECOMMA|P_NODUP,
1034#ifdef FEAT_FOLDING
1035 (char_u *)VAR_WIN, PV_FMR,
1036 {(char_u *)"{{{,}}}", (char_u *)NULL}
1037#else
1038 (char_u *)NULL, PV_NONE,
1039 {(char_u *)NULL, (char_u *)0L}
1040#endif
1041 SCTX_INIT},
1042 {"foldmethod", "fdm", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN,
1043#ifdef FEAT_FOLDING
1044 (char_u *)VAR_WIN, PV_FDM,
1045 {(char_u *)"manual", (char_u *)NULL}
1046#else
1047 (char_u *)NULL, PV_NONE,
1048 {(char_u *)NULL, (char_u *)0L}
1049#endif
1050 SCTX_INIT},
1051 {"foldminlines","fml", P_NUM|P_VI_DEF|P_RWIN,
1052#ifdef FEAT_FOLDING
1053 (char_u *)VAR_WIN, PV_FML,
1054 {(char_u *)1L, (char_u *)0L}
1055#else
1056 (char_u *)NULL, PV_NONE,
1057 {(char_u *)NULL, (char_u *)0L}
1058#endif
1059 SCTX_INIT},
1060 {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN,
1061#ifdef FEAT_FOLDING
1062 (char_u *)VAR_WIN, PV_FDN,
1063 {(char_u *)20L, (char_u *)0L}
1064#else
1065 (char_u *)NULL, PV_NONE,
1066 {(char_u *)NULL, (char_u *)0L}
1067#endif
1068 SCTX_INIT},
1069 {"foldopen", "fdo", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_CURSWANT,
1070#ifdef FEAT_FOLDING
1071 (char_u *)&p_fdo, PV_NONE,
1072 {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo",
1073 (char_u *)0L}
1074#else
1075 (char_u *)NULL, PV_NONE,
1076 {(char_u *)NULL, (char_u *)0L}
1077#endif
1078 SCTX_INIT},
1079 {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN|P_MLE,
1080#if defined(FEAT_FOLDING) && defined(FEAT_EVAL)
1081 (char_u *)VAR_WIN, PV_FDT,
1082 {(char_u *)"foldtext()", (char_u *)NULL}
1083#else
1084 (char_u *)NULL, PV_NONE,
1085 {(char_u *)NULL, (char_u *)0L}
1086#endif
1087 SCTX_INIT},
1088 {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
1089#ifdef FEAT_EVAL
1090 (char_u *)&p_fex, PV_FEX,
1091 {(char_u *)"", (char_u *)0L}
1092#else
1093 (char_u *)NULL, PV_NONE,
1094 {(char_u *)0L, (char_u *)0L}
1095#endif
1096 SCTX_INIT},
1097 {"formatoptions","fo", P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST,
1098 (char_u *)&p_fo, PV_FO,
1099 {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM}
1100 SCTX_INIT},
1101 {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF,
1102 (char_u *)&p_flp, PV_FLP,
1103 {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*",
1104 (char_u *)0L} SCTX_INIT},
1105 {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1106 (char_u *)&p_fp, PV_FP,
1107 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1108 {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF,
1109#ifdef HAVE_FSYNC
1110 (char_u *)&p_fs, PV_NONE,
1111 {(char_u *)TRUE, (char_u *)0L}
1112#else
1113 (char_u *)NULL, PV_NONE,
1114 {(char_u *)FALSE, (char_u *)0L}
1115#endif
1116 SCTX_INIT},
1117 {"gdefault", "gd", P_BOOL|P_VI_DEF|P_VIM,
1118 (char_u *)&p_gd, PV_NONE,
1119 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1120 {"graphic", "gr", P_BOOL|P_VI_DEF,
1121 (char_u *)NULL, PV_NONE,
1122 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1123 {"grepformat", "gfm", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1124#ifdef FEAT_QUICKFIX
1125 (char_u *)&p_gefm, PV_NONE,
1126 {(char_u *)DFLT_GREPFORMAT, (char_u *)0L}
1127#else
1128 (char_u *)NULL, PV_NONE,
1129 {(char_u *)NULL, (char_u *)0L}
1130#endif
1131 SCTX_INIT},
1132 {"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1133#ifdef FEAT_QUICKFIX
1134 (char_u *)&p_gp, PV_GP,
1135 {
1136# ifdef MSWIN
1137 // may be changed to "grep -n" in os_win32.c
1138 (char_u *)"findstr /n",
1139# else
1140# ifdef UNIX
1141 // Add an extra file name so that grep will always
1142 // insert a file name in the match line.
1143 (char_u *)"grep -n $* /dev/null",
1144# else
1145# ifdef VMS
1146 (char_u *)"SEARCH/NUMBERS ",
1147# else
1148 (char_u *)"grep -n ",
1149# endif
1150# endif
1151# endif
1152 (char_u *)0L}
1153#else
1154 (char_u *)NULL, PV_NONE,
1155 {(char_u *)NULL, (char_u *)0L}
1156#endif
1157 SCTX_INIT},
1158 {"guicursor", "gcr", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1159#ifdef CURSOR_SHAPE
1160 (char_u *)&p_guicursor, PV_NONE,
1161 {
1162# ifdef FEAT_GUI
1163 (char_u *)"n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175",
1164# else // Win32 console
1165 (char_u *)"n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block",
1166# endif
1167 (char_u *)0L}
1168#else
1169 (char_u *)NULL, PV_NONE,
1170 {(char_u *)NULL, (char_u *)0L}
1171#endif
1172 SCTX_INIT},
1173 {"guifont", "gfn", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1174#ifdef FEAT_GUI
1175 (char_u *)&p_guifont, PV_NONE,
1176 {(char_u *)"", (char_u *)0L}
1177#else
1178 (char_u *)NULL, PV_NONE,
1179 {(char_u *)NULL, (char_u *)0L}
1180#endif
1181 SCTX_INIT},
1182 {"guifontset", "gfs", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA,
1183#if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
1184 (char_u *)&p_guifontset, PV_NONE,
1185 {(char_u *)"", (char_u *)0L}
1186#else
1187 (char_u *)NULL, PV_NONE,
1188 {(char_u *)NULL, (char_u *)0L}
1189#endif
1190 SCTX_INIT},
1191 {"guifontwide", "gfw", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1192#if defined(FEAT_GUI)
1193 (char_u *)&p_guifontwide, PV_NONE,
1194 {(char_u *)"", (char_u *)0L}
1195#else
1196 (char_u *)NULL, PV_NONE,
1197 {(char_u *)NULL, (char_u *)0L}
1198#endif
1199 SCTX_INIT},
1200 {"guiheadroom", "ghr", P_NUM|P_VI_DEF,
1201#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
1202 (char_u *)&p_ghr, PV_NONE,
1203#else
1204 (char_u *)NULL, PV_NONE,
1205#endif
1206 {(char_u *)50L, (char_u *)0L} SCTX_INIT},
1207 {"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
1208#if defined(FEAT_GUI)
1209 (char_u *)&p_go, PV_NONE,
1210# if defined(UNIX) && !defined(FEAT_GUI_MAC)
1211 {(char_u *)"aegimrLtT", (char_u *)0L}
1212# else
1213 {(char_u *)"egmrLtT", (char_u *)0L}
1214# endif
1215#else
1216 (char_u *)NULL, PV_NONE,
1217 {(char_u *)NULL, (char_u *)0L}
1218#endif
1219 SCTX_INIT},
1220 {"guipty", NULL, P_BOOL|P_VI_DEF,
1221#if defined(FEAT_GUI)
1222 (char_u *)&p_guipty, PV_NONE,
1223#else
1224 (char_u *)NULL, PV_NONE,
1225#endif
1226 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1227 {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN|P_MLE,
1228#if defined(FEAT_GUI_TABLINE)
1229 (char_u *)&p_gtl, PV_NONE,
1230 {(char_u *)"", (char_u *)0L}
1231#else
1232 (char_u *)NULL, PV_NONE,
1233 {(char_u *)NULL, (char_u *)0L}
1234#endif
1235 SCTX_INIT},
1236 {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN,
1237#if defined(FEAT_GUI_TABLINE)
1238 (char_u *)&p_gtt, PV_NONE,
1239 {(char_u *)"", (char_u *)0L}
1240#else
1241 (char_u *)NULL, PV_NONE,
1242 {(char_u *)NULL, (char_u *)0L}
1243#endif
1244 SCTX_INIT},
1245 {"hardtabs", "ht", P_NUM|P_VI_DEF,
1246 (char_u *)NULL, PV_NONE,
1247 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
1248 {"helpfile", "hf", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1249 (char_u *)&p_hf, PV_NONE,
1250 {(char_u *)DFLT_HELPFILE, (char_u *)0L}
1251 SCTX_INIT},
1252 {"helpheight", "hh", P_NUM|P_VI_DEF,
1253 (char_u *)&p_hh, PV_NONE,
1254 {(char_u *)20L, (char_u *)0L} SCTX_INIT},
1255 {"helplang", "hlg", P_STRING|P_VI_DEF|P_ONECOMMA,
1256#ifdef FEAT_MULTI_LANG
1257 (char_u *)&p_hlg, PV_NONE,
1258 {(char_u *)"", (char_u *)0L}
1259#else
1260 (char_u *)NULL, PV_NONE,
1261 {(char_u *)0L, (char_u *)0L}
1262#endif
1263 SCTX_INIT},
1264 {"hidden", "hid", P_BOOL|P_VI_DEF,
1265 (char_u *)&p_hid, PV_NONE,
1266 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1267 {"highlight", "hl", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
1268 (char_u *)&p_hl, PV_NONE,
1269 {(char_u *)HIGHLIGHT_INIT, (char_u *)0L}
1270 SCTX_INIT},
1271 {"history", "hi", P_NUM|P_VIM,
1272 (char_u *)&p_hi, PV_NONE,
1273 {(char_u *)0L, (char_u *)50L} SCTX_INIT},
1274 {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM,
1275#ifdef FEAT_RIGHTLEFT
1276 (char_u *)&p_hkmap, PV_NONE,
1277#else
1278 (char_u *)NULL, PV_NONE,
1279#endif
1280 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1281 {"hkmapp", "hkp", P_BOOL|P_VI_DEF|P_VIM,
1282#ifdef FEAT_RIGHTLEFT
1283 (char_u *)&p_hkmapp, PV_NONE,
1284#else
1285 (char_u *)NULL, PV_NONE,
1286#endif
1287 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1288 {"hlsearch", "hls", P_BOOL|P_VI_DEF|P_VIM|P_RALL,
1289 (char_u *)&p_hls, PV_NONE,
1290 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1291 {"icon", NULL, P_BOOL|P_VI_DEF,
1292#ifdef FEAT_TITLE
1293 (char_u *)&p_icon, PV_NONE,
1294#else
1295 (char_u *)NULL, PV_NONE,
1296#endif
1297 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1298 {"iconstring", NULL, P_STRING|P_VI_DEF|P_MLE,
1299#ifdef FEAT_TITLE
1300 (char_u *)&p_iconstring, PV_NONE,
1301#else
1302 (char_u *)NULL, PV_NONE,
1303#endif
1304 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1305 {"ignorecase", "ic", P_BOOL|P_VI_DEF,
1306 (char_u *)&p_ic, PV_NONE,
1307 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1308 {"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE,
1309#if defined(FEAT_EVAL)
1310 (char_u *)&p_imaf, PV_NONE,
1311 {(char_u *)"", (char_u *)NULL}
1312# else
1313 (char_u *)NULL, PV_NONE,
1314 {(char_u *)NULL, (char_u *)0L}
1315# endif
1316 SCTX_INIT},
1317 {"imactivatekey","imak",P_STRING|P_VI_DEF,
1318#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
1319 (char_u *)&p_imak, PV_NONE,
1320#else
1321 (char_u *)NULL, PV_NONE,
1322#endif
1323 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1324 {"imcmdline", "imc", P_BOOL|P_VI_DEF,
1325 (char_u *)&p_imcmdline, PV_NONE,
1326 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1327 {"imdisable", "imd", P_BOOL|P_VI_DEF,
1328 (char_u *)&p_imdisable, PV_NONE,
1329#ifdef __sgi
1330 {(char_u *)TRUE, (char_u *)0L}
1331#else
1332 {(char_u *)FALSE, (char_u *)0L}
1333#endif
1334 SCTX_INIT},
1335 {"iminsert", "imi", P_NUM|P_VI_DEF,
1336 (char_u *)&p_iminsert, PV_IMI,
1337 {(char_u *)B_IMODE_NONE, (char_u *)0L}
1338 SCTX_INIT},
1339 {"imsearch", "ims", P_NUM|P_VI_DEF,
1340 (char_u *)&p_imsearch, PV_IMS,
1341 {(char_u *)B_IMODE_USE_INSERT, (char_u *)0L}
1342 SCTX_INIT},
1343 {"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE,
1344#if defined(FEAT_EVAL)
1345 (char_u *)&p_imsf, PV_NONE,
1346 {(char_u *)"", (char_u *)NULL}
1347#else
1348 (char_u *)NULL, PV_NONE,
1349 {(char_u *)NULL, (char_u *)0L}
1350#endif
1351 SCTX_INIT},
1352 {"imstyle", "imst", P_NUM|P_VI_DEF|P_SECURE,
1353#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
1354 (char_u *)&p_imst, PV_NONE,
1355 {(char_u *)IM_OVER_THE_SPOT, (char_u *)0L}
1356#else
1357 (char_u *)NULL, PV_NONE,
1358 {(char_u *)0L, (char_u *)0L}
1359#endif
1360 SCTX_INIT},
1361 {"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF,
1362#ifdef FEAT_FIND_ID
1363 (char_u *)&p_inc, PV_INC,
1364 {(char_u *)"^\\s*#\\s*include", (char_u *)0L}
1365#else
1366 (char_u *)NULL, PV_NONE,
1367 {(char_u *)0L, (char_u *)0L}
1368#endif
1369 SCTX_INIT},
1370 {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF|P_MLE,
1371#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
1372 (char_u *)&p_inex, PV_INEX,
1373 {(char_u *)"", (char_u *)0L}
1374#else
1375 (char_u *)NULL, PV_NONE,
1376 {(char_u *)0L, (char_u *)0L}
1377#endif
1378 SCTX_INIT},
1379 {"incsearch", "is", P_BOOL|P_VI_DEF|P_VIM,
1380 (char_u *)&p_is, PV_NONE,
1381 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1382 {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE,
1383#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
1384 (char_u *)&p_inde, PV_INDE,
1385 {(char_u *)"", (char_u *)0L}
1386#else
1387 (char_u *)NULL, PV_NONE,
1388 {(char_u *)0L, (char_u *)0L}
1389#endif
1390 SCTX_INIT},
1391 {"indentkeys", "indk", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1392#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
1393 (char_u *)&p_indk, PV_INDK,
1394 {INDENTKEYS_DEFAULT, (char_u *)0L}
1395#else
1396 (char_u *)NULL, PV_NONE,
1397 {(char_u *)0L, (char_u *)0L}
1398#endif
1399 SCTX_INIT},
1400 {"infercase", "inf", P_BOOL|P_VI_DEF,
1401 (char_u *)&p_inf, PV_INF,
1402 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1403 {"insertmode", "im", P_BOOL|P_VI_DEF|P_VIM,
1404 (char_u *)&p_im, PV_NONE,
1405 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1406 {"isfname", "isf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1407 (char_u *)&p_isf, PV_NONE,
1408 {
1409#ifdef BACKSLASH_IN_FILENAME
1410 // Excluded are: & and ^ are special in cmd.exe
1411 // ( and ) are used in text separating fnames
1412 (char_u *)"@,48-57,/,\\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=",
1413#else
1414# ifdef AMIGA
1415 (char_u *)"@,48-57,/,.,-,_,+,,,$,:",
1416# else
1417# ifdef VMS
1418 (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~",
1419# else // UNIX et al.
1420# ifdef EBCDIC
1421 (char_u *)"@,240-249,/,.,-,_,+,,,#,$,%,~,=",
1422# else
1423 (char_u *)"@,48-57,/,.,-,_,+,,,#,$,%,~,=",
1424# endif
1425# endif
1426# endif
1427#endif
1428 (char_u *)0L} SCTX_INIT},
1429 {"isident", "isi", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1430 (char_u *)&p_isi, PV_NONE,
1431 {
1432#if defined(MSWIN)
1433 (char_u *)"@,48-57,_,128-167,224-235",
1434#else
1435# ifdef EBCDIC
1436 // TODO: EBCDIC Check this! @ == isalpha()
1437 (char_u *)"@,240-249,_,66-73,81-89,98-105,"
1438 "112-120,128,140-142,156,158,172,"
1439 "174,186,191,203-207,219-225,235-239,"
1440 "251-254",
1441# else
1442 (char_u *)"@,48-57,_,192-255",
1443# endif
1444#endif
1445 (char_u *)0L} SCTX_INIT},
1446 {"iskeyword", "isk", P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP,
1447 (char_u *)&p_isk, PV_ISK,
1448 {
1449#ifdef EBCDIC
1450 (char_u *)"@,240-249,_",
1451 // TODO: EBCDIC Check this! @ == isalpha()
1452 (char_u *)"@,240-249,_,66-73,81-89,98-105,"
1453 "112-120,128,140-142,156,158,172,"
1454 "174,186,191,203-207,219-225,235-239,"
1455 "251-254",
1456#else
1457 (char_u *)"@,48-57,_",
1458# if defined(MSWIN)
1459 (char_u *)"@,48-57,_,128-167,224-235"
1460# else
1461 ISK_LATIN1
1462# endif
1463#endif
1464 } SCTX_INIT},
1465 {"isprint", "isp", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP,
1466 (char_u *)&p_isp, PV_NONE,
1467 {
1468#if defined(MSWIN) || defined(VMS)
1469 (char_u *)"@,~-255",
1470#else
1471# ifdef EBCDIC
1472 // all chars above 63 are printable
1473 (char_u *)"63-255",
1474# else
1475 ISP_LATIN1,
1476# endif
1477#endif
1478 (char_u *)0L} SCTX_INIT},
1479 {"joinspaces", "js", P_BOOL|P_VI_DEF|P_VIM,
1480 (char_u *)&p_js, PV_NONE,
1481 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1482 {"key", NULL, P_STRING|P_ALLOCED|P_VI_DEF|P_NO_MKRC,
1483#ifdef FEAT_CRYPT
1484 (char_u *)&p_key, PV_KEY,
1485 {(char_u *)"", (char_u *)0L}
1486#else
1487 (char_u *)NULL, PV_NONE,
1488 {(char_u *)0L, (char_u *)0L}
1489#endif
1490 SCTX_INIT},
1491 {"keymap", "kmp", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME|P_PRI_MKRC,
1492#ifdef FEAT_KEYMAP
1493 (char_u *)&p_keymap, PV_KMAP,
1494 {(char_u *)"", (char_u *)0L}
1495#else
1496 (char_u *)NULL, PV_NONE,
1497 {(char_u *)"", (char_u *)0L}
1498#endif
1499 SCTX_INIT},
1500 {"keymodel", "km", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1501 (char_u *)&p_km, PV_NONE,
1502 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1503 {"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1504 (char_u *)&p_kp, PV_KP,
1505 {
1506#ifdef MSWIN
1507 (char_u *)":help",
1508#else
1509# ifdef VMS
1510 (char_u *)"help",
1511# else
1512# ifdef USEMAN_S
1513 (char_u *)"man -s",
1514# else
1515 (char_u *)"man",
1516# endif
1517# endif
1518#endif
1519 (char_u *)0L} SCTX_INIT},
1520 {"langmap", "lmap", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_SECURE,
1521#ifdef FEAT_LANGMAP
1522 (char_u *)&p_langmap, PV_NONE,
1523 {(char_u *)"", (char_u *)0L}
1524#else
1525 (char_u *)NULL, PV_NONE,
1526 {(char_u *)NULL, (char_u *)0L}
1527#endif
1528 SCTX_INIT},
1529 {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME,
1530#if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
1531 (char_u *)&p_lm, PV_NONE,
1532#else
1533 (char_u *)NULL, PV_NONE,
1534#endif
1535 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1536 {"langnoremap", "lnr", P_BOOL|P_VI_DEF,
1537#ifdef FEAT_LANGMAP
1538 (char_u *)&p_lnr, PV_NONE,
1539#else
1540 (char_u *)NULL, PV_NONE,
1541#endif
1542 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1543 {"langremap", "lrm", P_BOOL|P_VI_DEF,
1544#ifdef FEAT_LANGMAP
1545 (char_u *)&p_lrm, PV_NONE,
1546#else
1547 (char_u *)NULL, PV_NONE,
1548#endif
1549 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1550 {"laststatus", "ls", P_NUM|P_VI_DEF|P_RALL,
1551 (char_u *)&p_ls, PV_NONE,
1552 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
1553 {"lazyredraw", "lz", P_BOOL|P_VI_DEF,
1554 (char_u *)&p_lz, PV_NONE,
1555 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1556 {"linebreak", "lbr", P_BOOL|P_VI_DEF|P_RWIN,
1557#ifdef FEAT_LINEBREAK
1558 (char_u *)VAR_WIN, PV_LBR,
1559#else
1560 (char_u *)NULL, PV_NONE,
1561#endif
1562 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1563 {"lines", NULL, P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
1564 (char_u *)&Rows, PV_NONE,
1565 {
1566#if defined(MSWIN)
1567 (char_u *)25L,
1568#else
1569 (char_u *)24L,
1570#endif
1571 (char_u *)0L} SCTX_INIT},
1572 {"linespace", "lsp", P_NUM|P_VI_DEF|P_RCLR,
1573#ifdef FEAT_GUI
1574 (char_u *)&p_linespace, PV_NONE,
1575#else
1576 (char_u *)NULL, PV_NONE,
1577#endif
1578#ifdef FEAT_GUI_MSWIN
1579 {(char_u *)1L, (char_u *)0L}
1580#else
1581 {(char_u *)0L, (char_u *)0L}
1582#endif
1583 SCTX_INIT},
1584 {"lisp", NULL, P_BOOL|P_VI_DEF,
1585#ifdef FEAT_LISP
1586 (char_u *)&p_lisp, PV_LISP,
1587#else
1588 (char_u *)NULL, PV_NONE,
1589#endif
1590 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1591 {"lispwords", "lw", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1592#ifdef FEAT_LISP
1593 (char_u *)&p_lispwords, PV_LW,
1594 {(char_u *)LISPWORD_VALUE, (char_u *)0L}
1595#else
1596 (char_u *)NULL, PV_NONE,
1597 {(char_u *)"", (char_u *)0L}
1598#endif
1599 SCTX_INIT},
1600 {"list", NULL, P_BOOL|P_VI_DEF|P_RWIN,
1601 (char_u *)VAR_WIN, PV_LIST,
1602 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1603 {"listchars", "lcs", P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
1604 (char_u *)&p_lcs, PV_NONE,
1605 {(char_u *)"eol:$", (char_u *)0L} SCTX_INIT},
1606 {"loadplugins", "lpl", P_BOOL|P_VI_DEF,
1607 (char_u *)&p_lpl, PV_NONE,
1608 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1609 {"luadll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1610#if defined(DYNAMIC_LUA)
1611 (char_u *)&p_luadll, PV_NONE,
1612 {(char_u *)DYNAMIC_LUA_DLL, (char_u *)0L}
1613#else
1614 (char_u *)NULL, PV_NONE,
1615 {(char_u *)"", (char_u *)0L}
1616#endif
1617 SCTX_INIT},
1618 {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR,
1619#ifdef FEAT_GUI_MAC
1620 (char_u *)&p_macatsui, PV_NONE,
1621 {(char_u *)TRUE, (char_u *)0L}
1622#else
1623 (char_u *)NULL, PV_NONE,
1624 {(char_u *)"", (char_u *)0L}
1625#endif
1626 SCTX_INIT},
1627 {"magic", NULL, P_BOOL|P_VI_DEF,
1628 (char_u *)&p_magic, PV_NONE,
1629 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1630 {"makeef", "mef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1631#ifdef FEAT_QUICKFIX
1632 (char_u *)&p_mef, PV_NONE,
1633 {(char_u *)"", (char_u *)0L}
1634#else
1635 (char_u *)NULL, PV_NONE,
1636 {(char_u *)NULL, (char_u *)0L}
1637#endif
1638 SCTX_INIT},
1639 {"makeencoding","menc", P_STRING|P_VI_DEF,
1640 (char_u *)&p_menc, PV_MENC,
1641 {(char_u *)"", (char_u *)0L}
1642 SCTX_INIT},
1643 {"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1644#ifdef FEAT_QUICKFIX
1645 (char_u *)&p_mp, PV_MP,
1646# ifdef VMS
1647 {(char_u *)"MMS", (char_u *)0L}
1648# else
1649 {(char_u *)"make", (char_u *)0L}
1650# endif
1651#else
1652 (char_u *)NULL, PV_NONE,
1653 {(char_u *)NULL, (char_u *)0L}
1654#endif
1655 SCTX_INIT},
1656 {"matchpairs", "mps", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1657 (char_u *)&p_mps, PV_MPS,
1658 {(char_u *)"(:),{:},[:]", (char_u *)0L}
1659 SCTX_INIT},
1660 {"matchtime", "mat", P_NUM|P_VI_DEF,
1661 (char_u *)&p_mat, PV_NONE,
1662 {(char_u *)5L, (char_u *)0L} SCTX_INIT},
1663 {"maxcombine", "mco", P_NUM|P_VI_DEF|P_CURSWANT,
1664 (char_u *)&p_mco, PV_NONE,
1665 {(char_u *)2, (char_u *)0L} SCTX_INIT},
1666 {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF,
1667#ifdef FEAT_EVAL
1668 (char_u *)&p_mfd, PV_NONE,
1669#else
1670 (char_u *)NULL, PV_NONE,
1671#endif
1672 {(char_u *)100L, (char_u *)0L} SCTX_INIT},
1673 {"maxmapdepth", "mmd", P_NUM|P_VI_DEF,
1674 (char_u *)&p_mmd, PV_NONE,
1675 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
1676 {"maxmem", "mm", P_NUM|P_VI_DEF,
1677 (char_u *)&p_mm, PV_NONE,
1678 {(char_u *)DFLT_MAXMEM, (char_u *)0L}
1679 SCTX_INIT},
1680 {"maxmempattern","mmp", P_NUM|P_VI_DEF,
1681 (char_u *)&p_mmp, PV_NONE,
1682 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
1683 {"maxmemtot", "mmt", P_NUM|P_VI_DEF,
1684 (char_u *)&p_mmt, PV_NONE,
1685 {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L}
1686 SCTX_INIT},
1687 {"menuitems", "mis", P_NUM|P_VI_DEF,
1688#ifdef FEAT_MENU
1689 (char_u *)&p_mis, PV_NONE,
1690#else
1691 (char_u *)NULL, PV_NONE,
1692#endif
1693 {(char_u *)25L, (char_u *)0L} SCTX_INIT},
1694 {"mesg", NULL, P_BOOL|P_VI_DEF,
1695 (char_u *)NULL, PV_NONE,
1696 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1697 {"mkspellmem", "msm", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE,
1698#ifdef FEAT_SPELL
1699 (char_u *)&p_msm, PV_NONE,
1700 {(char_u *)"460000,2000,500", (char_u *)0L}
1701#else
1702 (char_u *)NULL, PV_NONE,
1703 {(char_u *)0L, (char_u *)0L}
1704#endif
1705 SCTX_INIT},
1706 {"modeline", "ml", P_BOOL|P_VIM,
1707 (char_u *)&p_ml, PV_ML,
1708 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
1709 {"modelineexpr", "mle", P_BOOL|P_VI_DEF|P_SECURE,
1710 (char_u *)&p_mle, PV_NONE,
1711 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1712 {"modelines", "mls", P_NUM|P_VI_DEF,
1713 (char_u *)&p_mls, PV_NONE,
1714 {(char_u *)5L, (char_u *)0L} SCTX_INIT},
1715 {"modifiable", "ma", P_BOOL|P_VI_DEF|P_NOGLOB,
1716 (char_u *)&p_ma, PV_MA,
1717 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1718 {"modified", "mod", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT,
1719 (char_u *)&p_mod, PV_MOD,
1720 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1721 {"more", NULL, P_BOOL|P_VIM,
1722 (char_u *)&p_more, PV_NONE,
1723 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
1724 {"mouse", NULL, P_STRING|P_VI_DEF|P_FLAGLIST,
1725 (char_u *)&p_mouse, PV_NONE,
1726 {
1727#if defined(MSWIN)
1728 (char_u *)"a",
1729#else
1730 (char_u *)"",
1731#endif
1732 (char_u *)0L} SCTX_INIT},
1733 {"mousefocus", "mousef", P_BOOL|P_VI_DEF,
1734#ifdef FEAT_GUI
1735 (char_u *)&p_mousef, PV_NONE,
1736#else
1737 (char_u *)NULL, PV_NONE,
1738#endif
1739 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1740 {"mousehide", "mh", P_BOOL|P_VI_DEF,
1741#ifdef FEAT_GUI
1742 (char_u *)&p_mh, PV_NONE,
1743#else
1744 (char_u *)NULL, PV_NONE,
1745#endif
1746 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1747 {"mousemodel", "mousem", P_STRING|P_VI_DEF,
1748 (char_u *)&p_mousem, PV_NONE,
1749 {
1750#if defined(MSWIN)
1751 (char_u *)"popup",
1752#else
1753# if defined(MACOS_X)
1754 (char_u *)"popup_setpos",
1755# else
1756 (char_u *)"extend",
1757# endif
1758#endif
1759 (char_u *)0L} SCTX_INIT},
1760 {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1761#ifdef FEAT_MOUSESHAPE
1762 (char_u *)&p_mouseshape, PV_NONE,
1763 {(char_u *)"i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow", (char_u *)0L}
1764#else
1765 (char_u *)NULL, PV_NONE,
1766 {(char_u *)NULL, (char_u *)0L}
1767#endif
1768 SCTX_INIT},
1769 {"mousetime", "mouset", P_NUM|P_VI_DEF,
1770 (char_u *)&p_mouset, PV_NONE,
1771 {(char_u *)500L, (char_u *)0L} SCTX_INIT},
1772 {"mzschemedll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1773#if defined(DYNAMIC_MZSCHEME)
1774 (char_u *)&p_mzschemedll, PV_NONE,
1775 {(char_u *)DYNAMIC_MZSCH_DLL, (char_u *)0L}
1776#else
1777 (char_u *)NULL, PV_NONE,
1778 {(char_u *)"", (char_u *)0L}
1779#endif
1780 SCTX_INIT},
1781 {"mzschemegcdll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1782#if defined(DYNAMIC_MZSCHEME)
1783 (char_u *)&p_mzschemegcdll, PV_NONE,
1784 {(char_u *)DYNAMIC_MZGC_DLL, (char_u *)0L}
1785#else
1786 (char_u *)NULL, PV_NONE,
1787 {(char_u *)"", (char_u *)0L}
1788#endif
1789 SCTX_INIT},
1790 {"mzquantum", "mzq", P_NUM,
1791#ifdef FEAT_MZSCHEME
1792 (char_u *)&p_mzq, PV_NONE,
1793#else
1794 (char_u *)NULL, PV_NONE,
1795#endif
1796 {(char_u *)100L, (char_u *)100L} SCTX_INIT},
1797 {"novice", NULL, P_BOOL|P_VI_DEF,
1798 (char_u *)NULL, PV_NONE,
1799 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1800 {"nrformats", "nf", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP,
1801 (char_u *)&p_nf, PV_NF,
1802 {(char_u *)"bin,octal,hex", (char_u *)0L}
1803 SCTX_INIT},
1804 {"number", "nu", P_BOOL|P_VI_DEF|P_RWIN,
1805 (char_u *)VAR_WIN, PV_NU,
1806 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1807 {"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM,
1808#ifdef FEAT_LINEBREAK
1809 (char_u *)VAR_WIN, PV_NUW,
1810#else
1811 (char_u *)NULL, PV_NONE,
1812#endif
1813 {(char_u *)8L, (char_u *)4L} SCTX_INIT},
1814 {"omnifunc", "ofu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
1815#ifdef FEAT_COMPL_FUNC
1816 (char_u *)&p_ofu, PV_OFU,
1817 {(char_u *)"", (char_u *)0L}
1818#else
1819 (char_u *)NULL, PV_NONE,
1820 {(char_u *)0L, (char_u *)0L}
1821#endif
1822 SCTX_INIT},
1823 {"open", NULL, P_BOOL|P_VI_DEF,
1824 (char_u *)NULL, PV_NONE,
1825 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1826 {"opendevice", "odev", P_BOOL|P_VI_DEF,
1827#if defined(MSWIN)
1828 (char_u *)&p_odev, PV_NONE,
1829#else
1830 (char_u *)NULL, PV_NONE,
1831#endif
1832 {(char_u *)FALSE, (char_u *)FALSE}
1833 SCTX_INIT},
1834 {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
1835 (char_u *)&p_opfunc, PV_NONE,
1836 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1837 {"optimize", "opt", P_BOOL|P_VI_DEF,
1838 (char_u *)NULL, PV_NONE,
1839 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1840 {"osfiletype", "oft", P_STRING|P_ALLOCED|P_VI_DEF,
1841 (char_u *)NULL, PV_NONE,
1842 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
1843 {"packpath", "pp", P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
1844 |P_SECURE,
1845 (char_u *)&p_pp, PV_NONE,
1846 {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
1847 SCTX_INIT},
1848 {"paragraphs", "para", P_STRING|P_VI_DEF,
1849 (char_u *)&p_para, PV_NONE,
1850 {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
1851 (char_u *)0L} SCTX_INIT},
1852 {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC,
1853 (char_u *)&p_paste, PV_NONE,
1854 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1855 {"pastetoggle", "pt", P_STRING|P_VI_DEF,
1856 (char_u *)&p_pt, PV_NONE,
1857 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1858 {"patchexpr", "pex", P_STRING|P_VI_DEF|P_SECURE,
1859#if defined(FEAT_DIFF) && defined(FEAT_EVAL)
1860 (char_u *)&p_pex, PV_NONE,
1861 {(char_u *)"", (char_u *)0L}
1862#else
1863 (char_u *)NULL, PV_NONE,
1864 {(char_u *)0L, (char_u *)0L}
1865#endif
1866 SCTX_INIT},
1867 {"patchmode", "pm", P_STRING|P_VI_DEF|P_NFNAME,
1868 (char_u *)&p_pm, PV_NONE,
1869 {(char_u *)"", (char_u *)0L} SCTX_INIT},
1870 {"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
1871 (char_u *)&p_path, PV_PATH,
1872 {
1873#if defined(AMIGA) || defined(MSWIN)
1874 (char_u *)".,,",
1875#else
1876 (char_u *)".,/usr/include,,",
1877#endif
1878 (char_u *)0L} SCTX_INIT},
1879 {"perldll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
1880#if defined(DYNAMIC_PERL)
1881 (char_u *)&p_perldll, PV_NONE,
1882 {(char_u *)DYNAMIC_PERL_DLL, (char_u *)0L}
1883#else
1884 (char_u *)NULL, PV_NONE,
1885 {(char_u *)0L, (char_u *)0L}
1886#endif
1887 SCTX_INIT},
1888 {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM,
1889 (char_u *)&p_pi, PV_PI,
1890 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1891 {"previewheight", "pvh", P_NUM|P_VI_DEF,
1892#if defined(FEAT_QUICKFIX)
1893 (char_u *)&p_pvh, PV_NONE,
1894#else
1895 (char_u *)NULL, PV_NONE,
1896#endif
1897 {(char_u *)12L, (char_u *)0L} SCTX_INIT},
1898 {"previewpopup", "pvp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
1899#ifdef FEAT_TEXT_PROP
1900 (char_u *)&p_pvp, PV_NONE,
1901 {(char_u *)"", (char_u *)0L}
1902#else
1903 (char_u *)NULL, PV_NONE,
1904 {(char_u *)NULL, (char_u *)0L}
1905#endif
1906 SCTX_INIT},
1907 {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
1908#if defined(FEAT_QUICKFIX)
1909 (char_u *)VAR_WIN, PV_PVW,
1910#else
1911 (char_u *)NULL, PV_NONE,
1912#endif
1913 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
1914 {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE,
1915#ifdef FEAT_PRINTER
1916 (char_u *)&p_pdev, PV_NONE,
1917 {(char_u *)"", (char_u *)0L}
1918#else
1919 (char_u *)NULL, PV_NONE,
1920 {(char_u *)NULL, (char_u *)0L}
1921#endif
1922 SCTX_INIT},
1923 {"printencoding", "penc", P_STRING|P_VI_DEF,
1924#ifdef FEAT_POSTSCRIPT
1925 (char_u *)&p_penc, PV_NONE,
1926 {(char_u *)"", (char_u *)0L}
1927#else
1928 (char_u *)NULL, PV_NONE,
1929 {(char_u *)NULL, (char_u *)0L}
1930#endif
1931 SCTX_INIT},
1932 {"printexpr", "pexpr", P_STRING|P_VI_DEF|P_SECURE,
1933#ifdef FEAT_POSTSCRIPT
1934 (char_u *)&p_pexpr, PV_NONE,
1935 {(char_u *)"", (char_u *)0L}
1936#else
1937 (char_u *)NULL, PV_NONE,
1938 {(char_u *)NULL, (char_u *)0L}
1939#endif
1940 SCTX_INIT},
1941 {"printfont", "pfn", P_STRING|P_VI_DEF,
1942#ifdef FEAT_PRINTER
1943 (char_u *)&p_pfn, PV_NONE,
1944 {
1945# ifdef MSWIN
1946 (char_u *)"Courier_New:h10",
1947# else
1948 (char_u *)"courier",
1949# endif
1950 (char_u *)0L}
1951#else
1952 (char_u *)NULL, PV_NONE,
1953 {(char_u *)NULL, (char_u *)0L}
1954#endif
1955 SCTX_INIT},
1956 {"printheader", "pheader", P_STRING|P_VI_DEF|P_GETTEXT,
1957#ifdef FEAT_PRINTER
1958 (char_u *)&p_header, PV_NONE,
1959 // untranslated to avoid problems when 'encoding'
1960 // is changed
1961 {(char_u *)"%<%f%h%m%=Page %N", (char_u *)0L}
1962#else
1963 (char_u *)NULL, PV_NONE,
1964 {(char_u *)NULL, (char_u *)0L}
1965#endif
1966 SCTX_INIT},
1967 {"printmbcharset", "pmbcs", P_STRING|P_VI_DEF,
1968#if defined(FEAT_POSTSCRIPT)
1969 (char_u *)&p_pmcs, PV_NONE,
1970 {(char_u *)"", (char_u *)0L}
1971#else
1972 (char_u *)NULL, PV_NONE,
1973 {(char_u *)NULL, (char_u *)0L}
1974#endif
1975 SCTX_INIT},
1976 {"printmbfont", "pmbfn", P_STRING|P_VI_DEF,
1977#if defined(FEAT_POSTSCRIPT)
1978 (char_u *)&p_pmfn, PV_NONE,
1979 {(char_u *)"", (char_u *)0L}
1980#else
1981 (char_u *)NULL, PV_NONE,
1982 {(char_u *)NULL, (char_u *)0L}
1983#endif
1984 SCTX_INIT},
1985 {"printoptions", "popt", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
1986#ifdef FEAT_PRINTER
1987 (char_u *)&p_popt, PV_NONE,
1988 {(char_u *)"", (char_u *)0L}
1989#else
1990 (char_u *)NULL, PV_NONE,
1991 {(char_u *)NULL, (char_u *)0L}
1992#endif
1993 SCTX_INIT},
1994 {"prompt", NULL, P_BOOL|P_VI_DEF,
1995 (char_u *)&p_prompt, PV_NONE,
1996 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
1997 {"pumheight", "ph", P_NUM|P_VI_DEF,
1998 (char_u *)&p_ph, PV_NONE,
1999 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2000 {"pumwidth", "pw", P_NUM|P_VI_DEF,
2001 (char_u *)&p_pw, PV_NONE,
2002 {(char_u *)15L, (char_u *)15L} SCTX_INIT},
2003 {"pythonthreedll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2004#if defined(DYNAMIC_PYTHON3)
2005 (char_u *)&p_py3dll, PV_NONE,
2006 {(char_u *)DYNAMIC_PYTHON3_DLL, (char_u *)0L}
2007#else
2008 (char_u *)NULL, PV_NONE,
2009 {(char_u *)NULL, (char_u *)0L}
2010#endif
2011 SCTX_INIT},
2012 {"pythonthreehome", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2013#if defined(FEAT_PYTHON3)
2014 (char_u *)&p_py3home, PV_NONE,
2015 {(char_u *)"", (char_u *)0L}
2016#else
2017 (char_u *)NULL, PV_NONE,
2018 {(char_u *)NULL, (char_u *)0L}
2019#endif
2020 SCTX_INIT},
2021 {"pythondll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2022#if defined(DYNAMIC_PYTHON)
2023 (char_u *)&p_pydll, PV_NONE,
2024 {(char_u *)DYNAMIC_PYTHON_DLL, (char_u *)0L}
2025#else
2026 (char_u *)NULL, PV_NONE,
2027 {(char_u *)NULL, (char_u *)0L}
2028#endif
2029 SCTX_INIT},
2030 {"pythonhome", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2031#if defined(FEAT_PYTHON)
2032 (char_u *)&p_pyhome, PV_NONE,
2033 {(char_u *)"", (char_u *)0L}
2034#else
2035 (char_u *)NULL, PV_NONE,
2036 {(char_u *)NULL, (char_u *)0L}
2037#endif
2038 SCTX_INIT},
2039 {"pyxversion", "pyx", P_NUM|P_VI_DEF|P_SECURE,
2040#if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
2041 (char_u *)&p_pyx, PV_NONE,
2042#else
2043 (char_u *)NULL, PV_NONE,
2044#endif
2045 {(char_u *)DEFAULT_PYTHON_VER, (char_u *)0L}
2046 SCTX_INIT},
2047 {"quoteescape", "qe", P_STRING|P_ALLOCED|P_VI_DEF,
2048#ifdef FEAT_TEXTOBJ
2049 (char_u *)&p_qe, PV_QE,
2050 {(char_u *)"\\", (char_u *)0L}
2051#else
2052 (char_u *)NULL, PV_NONE,
2053 {(char_u *)NULL, (char_u *)0L}
2054#endif
2055 SCTX_INIT},
2056 {"readonly", "ro", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB,
2057 (char_u *)&p_ro, PV_RO,
2058 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2059 {"redraw", NULL, P_BOOL|P_VI_DEF,
2060 (char_u *)NULL, PV_NONE,
2061 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2062 {"redrawtime", "rdt", P_NUM|P_VI_DEF,
2063#ifdef FEAT_RELTIME
2064 (char_u *)&p_rdt, PV_NONE,
2065#else
2066 (char_u *)NULL, PV_NONE,
2067#endif
2068 {(char_u *)2000L, (char_u *)0L} SCTX_INIT},
2069 {"regexpengine", "re", P_NUM|P_VI_DEF,
2070 (char_u *)&p_re, PV_NONE,
2071 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2072 {"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RWIN,
2073 (char_u *)VAR_WIN, PV_RNU,
2074 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2075 {"remap", NULL, P_BOOL|P_VI_DEF,
2076 (char_u *)&p_remap, PV_NONE,
2077 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2078 {"renderoptions", "rop", P_STRING|P_ONECOMMA|P_RCLR|P_VI_DEF,
2079#ifdef FEAT_RENDER_OPTIONS
2080 (char_u *)&p_rop, PV_NONE,
2081 {(char_u *)"", (char_u *)0L}
2082#else
2083 (char_u *)NULL, PV_NONE,
2084 {(char_u *)NULL, (char_u *)0L}
2085#endif
2086 SCTX_INIT},
2087 {"report", NULL, P_NUM|P_VI_DEF,
2088 (char_u *)&p_report, PV_NONE,
2089 {(char_u *)2L, (char_u *)0L} SCTX_INIT},
2090 {"restorescreen", "rs", P_BOOL|P_VI_DEF,
2091#ifdef MSWIN
2092 (char_u *)&p_rs, PV_NONE,
2093#else
2094 (char_u *)NULL, PV_NONE,
2095#endif
2096 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2097 {"revins", "ri", P_BOOL|P_VI_DEF|P_VIM,
2098#ifdef FEAT_RIGHTLEFT
2099 (char_u *)&p_ri, PV_NONE,
2100#else
2101 (char_u *)NULL, PV_NONE,
2102#endif
2103 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2104 {"rightleft", "rl", P_BOOL|P_VI_DEF|P_RWIN,
2105#ifdef FEAT_RIGHTLEFT
2106 (char_u *)VAR_WIN, PV_RL,
2107#else
2108 (char_u *)NULL, PV_NONE,
2109#endif
2110 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2111 {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
2112#ifdef FEAT_RIGHTLEFT
2113 (char_u *)VAR_WIN, PV_RLC,
2114 {(char_u *)"search", (char_u *)NULL}
2115#else
2116 (char_u *)NULL, PV_NONE,
2117 {(char_u *)NULL, (char_u *)0L}
2118#endif
2119 SCTX_INIT},
2120 {"rubydll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2121#if defined(DYNAMIC_RUBY)
2122 (char_u *)&p_rubydll, PV_NONE,
2123 {(char_u *)DYNAMIC_RUBY_DLL, (char_u *)0L}
2124#else
2125 (char_u *)NULL, PV_NONE,
2126 {(char_u *)NULL, (char_u *)0L}
2127#endif
2128 SCTX_INIT},
2129 {"ruler", "ru", P_BOOL|P_VI_DEF|P_VIM|P_RSTAT,
2130#ifdef FEAT_CMDL_INFO
2131 (char_u *)&p_ru, PV_NONE,
2132#else
2133 (char_u *)NULL, PV_NONE,
2134#endif
2135 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2136 {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
2137#ifdef FEAT_STL_OPT
2138 (char_u *)&p_ruf, PV_NONE,
2139#else
2140 (char_u *)NULL, PV_NONE,
2141#endif
2142 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2143 {"runtimepath", "rtp", P_STRING|P_VI_DEF|P_EXPAND|P_ONECOMMA|P_NODUP
2144 |P_SECURE,
2145 (char_u *)&p_rtp, PV_NONE,
2146 {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}
2147 SCTX_INIT},
2148 {"scroll", "scr", P_NUM|P_NO_MKRC|P_VI_DEF,
2149 (char_u *)VAR_WIN, PV_SCROLL,
2150 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2151 {"scrollbind", "scb", P_BOOL|P_VI_DEF,
2152 (char_u *)VAR_WIN, PV_SCBIND,
2153 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
Bram Moolenaarae20f342019-11-05 21:09:23 +01002154 {"scrollfocus", "scf", P_BOOL|P_VI_DEF,
2155#if defined(MSWIN) && defined(FEAT_GUI)
2156 (char_u *)&p_scf, PV_NONE,
2157#else
2158 (char_u *)NULL, PV_NONE,
2159#endif
2160 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
Bram Moolenaar0eddca42019-09-12 22:26:43 +02002161 {"scrolljump", "sj", P_NUM|P_VI_DEF|P_VIM,
2162 (char_u *)&p_sj, PV_NONE,
2163 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2164 {"scrolloff", "so", P_NUM|P_VI_DEF|P_VIM|P_RALL,
2165 (char_u *)&p_so, PV_SO,
2166 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2167 {"scrollopt", "sbo", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2168 (char_u *)&p_sbo, PV_NONE,
2169 {(char_u *)"ver,jump", (char_u *)0L}
2170 SCTX_INIT},
2171 {"sections", "sect", P_STRING|P_VI_DEF,
2172 (char_u *)&p_sections, PV_NONE,
2173 {(char_u *)"SHNHH HUnhsh", (char_u *)0L}
2174 SCTX_INIT},
2175 {"secure", NULL, P_BOOL|P_VI_DEF|P_SECURE,
2176 (char_u *)&p_secure, PV_NONE,
2177 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2178 {"selection", "sel", P_STRING|P_VI_DEF,
2179 (char_u *)&p_sel, PV_NONE,
2180 {(char_u *)"inclusive", (char_u *)0L}
2181 SCTX_INIT},
2182 {"selectmode", "slm", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2183 (char_u *)&p_slm, PV_NONE,
2184 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2185 {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2186#ifdef FEAT_SESSION
2187 (char_u *)&p_ssop, PV_NONE,
2188 {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal",
2189 (char_u *)0L}
2190#else
2191 (char_u *)NULL, PV_NONE,
2192 {(char_u *)0L, (char_u *)0L}
2193#endif
2194 SCTX_INIT},
2195 {"shell", "sh", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2196 (char_u *)&p_sh, PV_NONE,
2197 {
2198#ifdef VMS
2199 (char_u *)"-",
2200#else
2201# if defined(MSWIN)
2202 (char_u *)"", // set in set_init_1()
2203# else
2204 (char_u *)"sh",
2205# endif
2206#endif // VMS
2207 (char_u *)0L} SCTX_INIT},
2208 {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE,
2209 (char_u *)&p_shcf, PV_NONE,
2210 {
2211#if defined(MSWIN)
2212 (char_u *)"/c",
2213#else
2214 (char_u *)"-c",
2215#endif
2216 (char_u *)0L} SCTX_INIT},
2217 {"shellpipe", "sp", P_STRING|P_VI_DEF|P_SECURE,
2218#ifdef FEAT_QUICKFIX
2219 (char_u *)&p_sp, PV_NONE,
2220 {
2221#if defined(UNIX)
2222 (char_u *)"| tee",
2223#else
2224 (char_u *)">",
2225#endif
2226 (char_u *)0L}
2227#else
2228 (char_u *)NULL, PV_NONE,
2229 {(char_u *)0L, (char_u *)0L}
2230#endif
2231 SCTX_INIT},
2232 {"shellquote", "shq", P_STRING|P_VI_DEF|P_SECURE,
2233 (char_u *)&p_shq, PV_NONE,
2234 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2235 {"shellredir", "srr", P_STRING|P_VI_DEF|P_SECURE,
2236 (char_u *)&p_srr, PV_NONE,
2237 {(char_u *)">", (char_u *)0L} SCTX_INIT},
2238 {"shellslash", "ssl", P_BOOL|P_VI_DEF,
2239#ifdef BACKSLASH_IN_FILENAME
2240 (char_u *)&p_ssl, PV_NONE,
2241#else
2242 (char_u *)NULL, PV_NONE,
2243#endif
2244 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2245 {"shelltemp", "stmp", P_BOOL,
2246 (char_u *)&p_stmp, PV_NONE,
2247 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2248 {"shelltype", "st", P_NUM|P_VI_DEF,
2249#ifdef AMIGA
2250 (char_u *)&p_st, PV_NONE,
2251#else
2252 (char_u *)NULL, PV_NONE,
2253#endif
2254 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2255 {"shellxquote", "sxq", P_STRING|P_VI_DEF|P_SECURE,
2256 (char_u *)&p_sxq, PV_NONE,
2257 {
2258#if defined(UNIX) && defined(USE_SYSTEM)
2259 (char_u *)"\"",
2260#else
2261 (char_u *)"",
2262#endif
2263 (char_u *)0L} SCTX_INIT},
2264 {"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE,
2265 (char_u *)&p_sxe, PV_NONE,
2266 {
2267#if defined(MSWIN)
2268 (char_u *)"\"&|<>()@^",
2269#else
2270 (char_u *)"",
2271#endif
2272 (char_u *)0L} SCTX_INIT},
2273 {"shiftround", "sr", P_BOOL|P_VI_DEF|P_VIM,
2274 (char_u *)&p_sr, PV_NONE,
2275 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2276 {"shiftwidth", "sw", P_NUM|P_VI_DEF,
2277 (char_u *)&p_sw, PV_SW,
2278 {(char_u *)8L, (char_u *)0L} SCTX_INIT},
2279 {"shortmess", "shm", P_STRING|P_VIM|P_FLAGLIST,
2280 (char_u *)&p_shm, PV_NONE,
2281 {(char_u *)"S", (char_u *)"filnxtToOS"}
2282 SCTX_INIT},
2283 {"shortname", "sn", P_BOOL|P_VI_DEF,
2284 (char_u *)&p_sn, PV_SN,
2285 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2286 {"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL,
2287#ifdef FEAT_LINEBREAK
Bram Moolenaaree857022019-11-09 23:26:40 +01002288 (char_u *)&p_sbr, PV_SBR,
Bram Moolenaar0eddca42019-09-12 22:26:43 +02002289#else
2290 (char_u *)NULL, PV_NONE,
2291#endif
2292 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2293 {"showcmd", "sc", P_BOOL|P_VIM,
2294#ifdef FEAT_CMDL_INFO
2295 (char_u *)&p_sc, PV_NONE,
2296#else
2297 (char_u *)NULL, PV_NONE,
2298#endif
2299 {(char_u *)FALSE,
2300#ifdef UNIX
2301 (char_u *)FALSE
2302#else
2303 (char_u *)TRUE
2304#endif
2305 } SCTX_INIT},
2306 {"showfulltag", "sft", P_BOOL|P_VI_DEF,
2307 (char_u *)&p_sft, PV_NONE,
2308 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2309 {"showmatch", "sm", P_BOOL|P_VI_DEF,
2310 (char_u *)&p_sm, PV_NONE,
2311 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2312 {"showmode", "smd", P_BOOL|P_VIM,
2313 (char_u *)&p_smd, PV_NONE,
2314 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2315 {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL,
2316 (char_u *)&p_stal, PV_NONE,
2317 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2318 {"sidescroll", "ss", P_NUM|P_VI_DEF,
2319 (char_u *)&p_ss, PV_NONE,
2320 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2321 {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2322 (char_u *)&p_siso, PV_SISO,
2323 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2324 {"signcolumn", "scl", P_STRING|P_ALLOCED|P_VI_DEF|P_RCLR,
2325#ifdef FEAT_SIGNS
2326 (char_u *)VAR_WIN, PV_SCL,
2327 {(char_u *)"auto", (char_u *)0L}
2328#else
2329 (char_u *)NULL, PV_NONE,
2330 {(char_u *)NULL, (char_u *)0L}
2331#endif
2332 SCTX_INIT},
2333 {"slowopen", "slow", P_BOOL|P_VI_DEF,
2334 (char_u *)NULL, PV_NONE,
2335 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2336 {"smartcase", "scs", P_BOOL|P_VI_DEF|P_VIM,
2337 (char_u *)&p_scs, PV_NONE,
2338 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2339 {"smartindent", "si", P_BOOL|P_VI_DEF|P_VIM,
2340#ifdef FEAT_SMARTINDENT
2341 (char_u *)&p_si, PV_SI,
2342#else
2343 (char_u *)NULL, PV_NONE,
2344#endif
2345 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2346 {"smarttab", "sta", P_BOOL|P_VI_DEF|P_VIM,
2347 (char_u *)&p_sta, PV_NONE,
2348 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2349 {"softtabstop", "sts", P_NUM|P_VI_DEF|P_VIM,
2350 (char_u *)&p_sts, PV_STS,
2351 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2352 {"sourceany", NULL, P_BOOL|P_VI_DEF,
2353 (char_u *)NULL, PV_NONE,
2354 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2355 {"spell", NULL, P_BOOL|P_VI_DEF|P_RWIN,
2356#ifdef FEAT_SPELL
2357 (char_u *)VAR_WIN, PV_SPELL,
2358#else
2359 (char_u *)NULL, PV_NONE,
2360#endif
2361 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2362 {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF,
2363#ifdef FEAT_SPELL
2364 (char_u *)&p_spc, PV_SPC,
2365 {(char_u *)"[.?!]\\_[\\])'\" ]\\+", (char_u *)0L}
2366#else
2367 (char_u *)NULL, PV_NONE,
2368 {(char_u *)0L, (char_u *)0L}
2369#endif
2370 SCTX_INIT},
2371 {"spellfile", "spf", P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE
2372 |P_ONECOMMA,
2373#ifdef FEAT_SPELL
2374 (char_u *)&p_spf, PV_SPF,
2375 {(char_u *)"", (char_u *)0L}
2376#else
2377 (char_u *)NULL, PV_NONE,
2378 {(char_u *)0L, (char_u *)0L}
2379#endif
2380 SCTX_INIT},
2381 {"spelllang", "spl", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA
2382 |P_RBUF|P_EXPAND,
2383#ifdef FEAT_SPELL
2384 (char_u *)&p_spl, PV_SPL,
2385 {(char_u *)"en", (char_u *)0L}
2386#else
2387 (char_u *)NULL, PV_NONE,
2388 {(char_u *)0L, (char_u *)0L}
2389#endif
2390 SCTX_INIT},
2391 {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_ONECOMMA,
2392#ifdef FEAT_SPELL
2393 (char_u *)&p_sps, PV_NONE,
2394 {(char_u *)"best", (char_u *)0L}
2395#else
2396 (char_u *)NULL, PV_NONE,
2397 {(char_u *)0L, (char_u *)0L}
2398#endif
2399 SCTX_INIT},
2400 {"splitbelow", "sb", P_BOOL|P_VI_DEF,
2401 (char_u *)&p_sb, PV_NONE,
2402 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2403 {"splitright", "spr", P_BOOL|P_VI_DEF,
2404 (char_u *)&p_spr, PV_NONE,
2405 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2406 {"startofline", "sol", P_BOOL|P_VI_DEF|P_VIM,
2407 (char_u *)&p_sol, PV_NONE,
2408 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2409 {"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT|P_MLE,
2410#ifdef FEAT_STL_OPT
2411 (char_u *)&p_stl, PV_STL,
2412#else
2413 (char_u *)NULL, PV_NONE,
2414#endif
2415 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2416 {"suffixes", "su", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2417 (char_u *)&p_su, PV_NONE,
2418 {(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
2419 (char_u *)0L} SCTX_INIT},
2420 {"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_ONECOMMA|P_NODUP,
2421#ifdef FEAT_SEARCHPATH
2422 (char_u *)&p_sua, PV_SUA,
2423 {(char_u *)"", (char_u *)0L}
2424#else
2425 (char_u *)NULL, PV_NONE,
2426 {(char_u *)0L, (char_u *)0L}
2427#endif
2428 SCTX_INIT},
2429 {"swapfile", "swf", P_BOOL|P_VI_DEF|P_RSTAT,
2430 (char_u *)&p_swf, PV_SWF,
2431 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2432 {"swapsync", "sws", P_STRING|P_VI_DEF,
2433 (char_u *)&p_sws, PV_NONE,
2434 {(char_u *)"fsync", (char_u *)0L} SCTX_INIT},
2435 {"switchbuf", "swb", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2436 (char_u *)&p_swb, PV_NONE,
2437 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2438 {"synmaxcol", "smc", P_NUM|P_VI_DEF|P_RBUF,
2439#ifdef FEAT_SYN_HL
2440 (char_u *)&p_smc, PV_SMC,
2441 {(char_u *)3000L, (char_u *)0L}
2442#else
2443 (char_u *)NULL, PV_NONE,
2444 {(char_u *)0L, (char_u *)0L}
2445#endif
2446 SCTX_INIT},
2447 {"syntax", "syn", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
2448#ifdef FEAT_SYN_HL
2449 (char_u *)&p_syn, PV_SYN,
2450 {(char_u *)"", (char_u *)0L}
2451#else
2452 (char_u *)NULL, PV_NONE,
2453 {(char_u *)0L, (char_u *)0L}
2454#endif
2455 SCTX_INIT},
2456 {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL|P_MLE,
2457#ifdef FEAT_STL_OPT
2458 (char_u *)&p_tal, PV_NONE,
2459#else
2460 (char_u *)NULL, PV_NONE,
2461#endif
2462 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2463 {"tabpagemax", "tpm", P_NUM|P_VI_DEF,
2464 (char_u *)&p_tpm, PV_NONE,
2465 {(char_u *)10L, (char_u *)0L} SCTX_INIT},
2466 {"tabstop", "ts", P_NUM|P_VI_DEF|P_RBUF,
2467 (char_u *)&p_ts, PV_TS,
2468 {(char_u *)8L, (char_u *)0L} SCTX_INIT},
2469 {"tagbsearch", "tbs", P_BOOL|P_VI_DEF,
2470 (char_u *)&p_tbs, PV_NONE,
2471#ifdef VMS // binary searching doesn't appear to work on VMS
2472 {(char_u *)0L, (char_u *)0L}
2473#else
2474 {(char_u *)TRUE, (char_u *)0L}
2475#endif
2476 SCTX_INIT},
2477 {"tagcase", "tc", P_STRING|P_VIM,
2478 (char_u *)&p_tc, PV_TC,
2479 {(char_u *)"followic", (char_u *)"followic"} SCTX_INIT},
2480 {"tagfunc", "tfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
2481#ifdef FEAT_EVAL
2482 (char_u *)&p_tfu, PV_TFU,
2483 {(char_u *)"", (char_u *)0L}
2484#else
2485 (char_u *)NULL, PV_NONE,
2486 {(char_u *)0L, (char_u *)0L}
2487#endif
2488 SCTX_INIT},
2489 {"taglength", "tl", P_NUM|P_VI_DEF,
2490 (char_u *)&p_tl, PV_NONE,
2491 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2492 {"tagrelative", "tr", P_BOOL|P_VIM,
2493 (char_u *)&p_tr, PV_NONE,
2494 {(char_u *)FALSE, (char_u *)TRUE} SCTX_INIT},
2495 {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP,
2496 (char_u *)&p_tags, PV_TAGS,
2497 {
2498#if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME)
2499 (char_u *)"./tags,./TAGS,tags,TAGS",
2500#else
2501 (char_u *)"./tags,tags",
2502#endif
2503 (char_u *)0L} SCTX_INIT},
2504 {"tagstack", "tgst", P_BOOL|P_VI_DEF,
2505 (char_u *)&p_tgst, PV_NONE,
2506 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2507 {"tcldll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2508#if defined(DYNAMIC_TCL)
2509 (char_u *)&p_tcldll, PV_NONE,
2510 {(char_u *)DYNAMIC_TCL_DLL, (char_u *)0L}
2511#else
2512 (char_u *)NULL, PV_NONE,
2513 {(char_u *)0L, (char_u *)0L}
2514#endif
2515 SCTX_INIT},
2516 {"term", NULL, P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
2517 (char_u *)&T_NAME, PV_NONE,
2518 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2519 {"termbidi", "tbidi", P_BOOL|P_VI_DEF,
2520#ifdef FEAT_ARABIC
2521 (char_u *)&p_tbidi, PV_NONE,
2522#else
2523 (char_u *)NULL, PV_NONE,
2524#endif
2525 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2526 {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR,
2527 (char_u *)&p_tenc, PV_NONE,
2528 {(char_u *)"", (char_u *)0L}
2529 SCTX_INIT},
2530 {"termguicolors", "tgc", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
2531#ifdef FEAT_TERMGUICOLORS
2532 (char_u *)&p_tgc, PV_NONE,
2533 {(char_u *)FALSE, (char_u *)FALSE}
2534#else
2535 (char_u*)NULL, PV_NONE,
2536 {(char_u *)FALSE, (char_u *)FALSE}
2537#endif
2538 SCTX_INIT},
2539 {"termwinkey", "twk", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
2540#ifdef FEAT_TERMINAL
2541 (char_u *)VAR_WIN, PV_TWK,
2542 {(char_u *)"", (char_u *)NULL}
2543#else
2544 (char_u *)NULL, PV_NONE,
2545 {(char_u *)NULL, (char_u *)0L}
2546#endif
2547 SCTX_INIT},
2548 {"termwinscroll", "twsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2549#ifdef FEAT_TERMINAL
2550 (char_u *)&p_twsl, PV_TWSL,
2551 {(char_u *)10000L, (char_u *)10000L}
2552#else
2553 (char_u *)NULL, PV_NONE,
2554 {(char_u *)NULL, (char_u *)0L}
2555#endif
2556 SCTX_INIT},
2557 {"termwinsize", "tws", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
2558#ifdef FEAT_TERMINAL
2559 (char_u *)VAR_WIN, PV_TWS,
2560 {(char_u *)"", (char_u *)NULL}
2561#else
2562 (char_u *)NULL, PV_NONE,
2563 {(char_u *)NULL, (char_u *)0L}
2564#endif
2565 SCTX_INIT},
2566 {"termwintype", "twt", P_STRING|P_ALLOCED|P_VI_DEF,
2567#if defined(MSWIN) && defined(FEAT_TERMINAL)
2568 (char_u *)&p_twt, PV_NONE,
2569 {(char_u *)"", (char_u *)NULL}
2570#else
2571 (char_u *)NULL, PV_NONE,
2572 {(char_u *)NULL, (char_u *)0L}
2573#endif
2574 SCTX_INIT},
2575 {"terse", NULL, P_BOOL|P_VI_DEF,
2576 (char_u *)&p_terse, PV_NONE,
2577 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2578 {"textauto", "ta", P_BOOL|P_VIM,
2579 (char_u *)&p_ta, PV_NONE,
2580 {(char_u *)DFLT_TEXTAUTO, (char_u *)TRUE}
2581 SCTX_INIT},
2582 {"textmode", "tx", P_BOOL|P_VI_DEF|P_NO_MKRC,
2583 (char_u *)&p_tx, PV_TX,
2584 {
2585#ifdef USE_CRNL
2586 (char_u *)TRUE,
2587#else
2588 (char_u *)FALSE,
2589#endif
2590 (char_u *)0L} SCTX_INIT},
2591 {"textwidth", "tw", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
2592 (char_u *)&p_tw, PV_TW,
2593 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2594 {"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
2595 (char_u *)&p_tsr, PV_TSR,
2596 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2597 {"tildeop", "top", P_BOOL|P_VI_DEF|P_VIM,
2598 (char_u *)&p_to, PV_NONE,
2599 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2600 {"timeout", "to", P_BOOL|P_VI_DEF,
2601 (char_u *)&p_timeout, PV_NONE,
2602 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2603 {"timeoutlen", "tm", P_NUM|P_VI_DEF,
2604 (char_u *)&p_tm, PV_NONE,
2605 {(char_u *)1000L, (char_u *)0L} SCTX_INIT},
2606 {"title", NULL, P_BOOL|P_VI_DEF,
2607#ifdef FEAT_TITLE
2608 (char_u *)&p_title, PV_NONE,
2609#else
2610 (char_u *)NULL, PV_NONE,
2611#endif
2612 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2613 {"titlelen", NULL, P_NUM|P_VI_DEF,
2614#ifdef FEAT_TITLE
2615 (char_u *)&p_titlelen, PV_NONE,
2616#else
2617 (char_u *)NULL, PV_NONE,
2618#endif
2619 {(char_u *)85L, (char_u *)0L} SCTX_INIT},
2620 {"titleold", NULL, P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC,
2621#ifdef FEAT_TITLE
2622 (char_u *)&p_titleold, PV_NONE,
2623 {(char_u *)N_("Thanks for flying Vim"),
2624 (char_u *)0L}
2625#else
2626 (char_u *)NULL, PV_NONE,
2627 {(char_u *)0L, (char_u *)0L}
2628#endif
2629 SCTX_INIT},
2630 {"titlestring", NULL, P_STRING|P_VI_DEF|P_MLE,
2631#ifdef FEAT_TITLE
2632 (char_u *)&p_titlestring, PV_NONE,
2633#else
2634 (char_u *)NULL, PV_NONE,
2635#endif
2636 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2637 {"toolbar", "tb", P_STRING|P_ONECOMMA|P_VI_DEF|P_NODUP,
2638#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_MSWIN)
2639 (char_u *)&p_toolbar, PV_NONE,
2640 {(char_u *)"icons,tooltips", (char_u *)0L}
2641#else
2642 (char_u *)NULL, PV_NONE,
2643 {(char_u *)0L, (char_u *)0L}
2644#endif
2645 SCTX_INIT},
2646 {"toolbariconsize", "tbis", P_STRING|P_VI_DEF,
2647#if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK)
2648 (char_u *)&p_tbis, PV_NONE,
2649 {(char_u *)"small", (char_u *)0L}
2650#else
2651 (char_u *)NULL, PV_NONE,
2652 {(char_u *)0L, (char_u *)0L}
2653#endif
2654 SCTX_INIT},
2655 {"ttimeout", NULL, P_BOOL|P_VI_DEF|P_VIM,
2656 (char_u *)&p_ttimeout, PV_NONE,
2657 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2658 {"ttimeoutlen", "ttm", P_NUM|P_VI_DEF,
2659 (char_u *)&p_ttm, PV_NONE,
2660 {(char_u *)-1L, (char_u *)0L} SCTX_INIT},
2661 {"ttybuiltin", "tbi", P_BOOL|P_VI_DEF,
2662 (char_u *)&p_tbi, PV_NONE,
2663 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2664 {"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF,
2665 (char_u *)&p_tf, PV_NONE,
2666 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2667 {"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF,
Bram Moolenaara1cb1d12019-10-17 23:00:07 +02002668#if defined(UNIX) || defined(VMS)
Bram Moolenaar0eddca42019-09-12 22:26:43 +02002669 (char_u *)&p_ttym, PV_NONE,
2670#else
2671 (char_u *)NULL, PV_NONE,
2672#endif
2673 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2674 {"ttyscroll", "tsl", P_NUM|P_VI_DEF,
2675 (char_u *)&p_ttyscroll, PV_NONE,
2676 {(char_u *)999L, (char_u *)0L} SCTX_INIT},
2677 {"ttytype", "tty", P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL,
2678 (char_u *)&T_NAME, PV_NONE,
2679 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2680 {"undodir", "udir", P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP|P_SECURE
2681 |P_VI_DEF,
2682#ifdef FEAT_PERSISTENT_UNDO
2683 (char_u *)&p_udir, PV_NONE,
2684 {(char_u *)".", (char_u *)0L}
2685#else
2686 (char_u *)NULL, PV_NONE,
2687 {(char_u *)0L, (char_u *)0L}
2688#endif
2689 SCTX_INIT},
2690 {"undofile", "udf", P_BOOL|P_VI_DEF|P_VIM,
2691#ifdef FEAT_PERSISTENT_UNDO
2692 (char_u *)&p_udf, PV_UDF,
2693#else
2694 (char_u *)NULL, PV_NONE,
2695#endif
2696 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2697 {"undolevels", "ul", P_NUM|P_VI_DEF,
2698 (char_u *)&p_ul, PV_UL,
2699 {
2700#if defined(UNIX) || defined(MSWIN) || defined(VMS)
2701 (char_u *)1000L,
2702#else
2703 (char_u *)100L,
2704#endif
2705 (char_u *)0L} SCTX_INIT},
2706 {"undoreload", "ur", P_NUM|P_VI_DEF,
2707 (char_u *)&p_ur, PV_NONE,
2708 { (char_u *)10000L, (char_u *)0L} SCTX_INIT},
2709 {"updatecount", "uc", P_NUM|P_VI_DEF,
2710 (char_u *)&p_uc, PV_NONE,
2711 {(char_u *)200L, (char_u *)0L} SCTX_INIT},
2712 {"updatetime", "ut", P_NUM|P_VI_DEF,
2713 (char_u *)&p_ut, PV_NONE,
2714 {(char_u *)4000L, (char_u *)0L} SCTX_INIT},
2715 {"varsofttabstop", "vsts", P_STRING|P_VI_DEF|P_VIM|P_COMMA,
2716#ifdef FEAT_VARTABS
2717 (char_u *)&p_vsts, PV_VSTS,
2718 {(char_u *)"", (char_u *)0L}
2719#else
2720 (char_u *)NULL, PV_NONE,
2721 {(char_u *)"", (char_u *)NULL}
2722#endif
2723 SCTX_INIT},
2724 {"vartabstop", "vts", P_STRING|P_VI_DEF|P_VIM|P_RBUF|P_COMMA,
2725#ifdef FEAT_VARTABS
2726 (char_u *)&p_vts, PV_VTS,
2727 {(char_u *)"", (char_u *)0L}
2728#else
2729 (char_u *)NULL, PV_NONE,
2730 {(char_u *)"", (char_u *)NULL}
2731#endif
2732 SCTX_INIT},
2733 {"verbose", "vbs", P_NUM|P_VI_DEF,
2734 (char_u *)&p_verbose, PV_NONE,
2735 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2736 {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2737 (char_u *)&p_vfile, PV_NONE,
2738 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2739 {"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2740#ifdef FEAT_SESSION
2741 (char_u *)&p_vdir, PV_NONE,
2742 {(char_u *)DFLT_VDIR, (char_u *)0L}
2743#else
2744 (char_u *)NULL, PV_NONE,
2745 {(char_u *)0L, (char_u *)0L}
2746#endif
2747 SCTX_INIT},
2748 {"viewoptions", "vop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2749#ifdef FEAT_SESSION
2750 (char_u *)&p_vop, PV_NONE,
2751 {(char_u *)"folds,options,cursor,curdir",
2752 (char_u *)0L}
2753#else
2754 (char_u *)NULL, PV_NONE,
2755 {(char_u *)0L, (char_u *)0L}
2756#endif
2757 SCTX_INIT},
2758 {"viminfo", "vi", P_STRING|P_ONECOMMA|P_NODUP|P_SECURE,
2759#ifdef FEAT_VIMINFO
2760 (char_u *)&p_viminfo, PV_NONE,
2761#if defined(MSWIN)
2762 {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"}
2763#else
2764# ifdef AMIGA
2765 {(char_u *)"",
2766 (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"}
2767# else
2768 {(char_u *)"", (char_u *)"'100,<50,s10,h"}
2769# endif
2770#endif
2771#else
2772 (char_u *)NULL, PV_NONE,
2773 {(char_u *)0L, (char_u *)0L}
2774#endif
2775 SCTX_INIT},
2776 {"viminfofile", "vif", P_STRING|P_EXPAND|P_ONECOMMA|P_NODUP
2777 |P_SECURE|P_VI_DEF,
2778#ifdef FEAT_VIMINFO
2779 (char_u *)&p_viminfofile, PV_NONE,
2780 {(char_u *)"", (char_u *)0L}
2781#else
2782 (char_u *)NULL, PV_NONE,
2783 {(char_u *)0L, (char_u *)0L}
2784#endif
2785 SCTX_INIT},
2786 {"virtualedit", "ve", P_STRING|P_ONECOMMA|P_NODUP|P_VI_DEF
2787 |P_VIM|P_CURSWANT,
2788 (char_u *)&p_ve, PV_NONE,
2789 {(char_u *)"", (char_u *)""}
2790 SCTX_INIT},
2791 {"visualbell", "vb", P_BOOL|P_VI_DEF,
2792 (char_u *)&p_vb, PV_NONE,
2793 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2794 {"w300", NULL, P_NUM|P_VI_DEF,
2795 (char_u *)NULL, PV_NONE,
2796 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2797 {"w1200", NULL, P_NUM|P_VI_DEF,
2798 (char_u *)NULL, PV_NONE,
2799 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2800 {"w9600", NULL, P_NUM|P_VI_DEF,
2801 (char_u *)NULL, PV_NONE,
2802 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2803 {"warn", NULL, P_BOOL|P_VI_DEF,
2804 (char_u *)&p_warn, PV_NONE,
2805 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2806 {"weirdinvert", "wiv", P_BOOL|P_VI_DEF|P_RCLR,
2807 (char_u *)&p_wiv, PV_NONE,
2808 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2809 {"whichwrap", "ww", P_STRING|P_VIM|P_ONECOMMA|P_FLAGLIST,
2810 (char_u *)&p_ww, PV_NONE,
2811 {(char_u *)"", (char_u *)"b,s"} SCTX_INIT},
2812 {"wildchar", "wc", P_NUM|P_VIM,
2813 (char_u *)&p_wc, PV_NONE,
2814 {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
2815 SCTX_INIT},
2816 {"wildcharm", "wcm", P_NUM|P_VI_DEF,
2817 (char_u *)&p_wcm, PV_NONE,
2818 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2819 {"wildignore", "wig", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2820#ifdef FEAT_WILDIGN
2821 (char_u *)&p_wig, PV_NONE,
2822#else
2823 (char_u *)NULL, PV_NONE,
2824#endif
2825 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2826 {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
2827 (char_u *)&p_wic, PV_NONE,
2828 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2829 {"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
2830#ifdef FEAT_WILDMENU
2831 (char_u *)&p_wmnu, PV_NONE,
2832#else
2833 (char_u *)NULL, PV_NONE,
2834#endif
2835 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2836 {"wildmode", "wim", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
2837 (char_u *)&p_wim, PV_NONE,
2838 {(char_u *)"full", (char_u *)0L} SCTX_INIT},
2839 {"wildoptions", "wop", P_STRING|P_VI_DEF,
2840 (char_u *)&p_wop, PV_NONE,
2841 {(char_u *)"", (char_u *)0L}
2842 SCTX_INIT},
2843 {"winaltkeys", "wak", P_STRING|P_VI_DEF,
2844#ifdef FEAT_WAK
2845 (char_u *)&p_wak, PV_NONE,
2846 {(char_u *)"menu", (char_u *)0L}
2847#else
2848 (char_u *)NULL, PV_NONE,
2849 {(char_u *)NULL, (char_u *)0L}
2850#endif
2851 SCTX_INIT},
2852 {"wincolor", "wcr", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
2853 (char_u *)VAR_WIN, PV_WCR,
2854 {(char_u *)"", (char_u *)NULL}
2855 SCTX_INIT},
2856 {"window", "wi", P_NUM|P_VI_DEF,
2857 (char_u *)&p_window, PV_NONE,
2858 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2859 {"winheight", "wh", P_NUM|P_VI_DEF,
2860 (char_u *)&p_wh, PV_NONE,
2861 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2862 {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT,
2863 (char_u *)VAR_WIN, PV_WFH,
2864 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2865 {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT,
2866 (char_u *)VAR_WIN, PV_WFW,
2867 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2868 {"winminheight", "wmh", P_NUM|P_VI_DEF,
2869 (char_u *)&p_wmh, PV_NONE,
2870 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2871 {"winminwidth", "wmw", P_NUM|P_VI_DEF,
2872 (char_u *)&p_wmw, PV_NONE,
2873 {(char_u *)1L, (char_u *)0L} SCTX_INIT},
2874 {"winptydll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
2875#if defined(MSWIN) && defined(FEAT_TERMINAL)
2876 (char_u *)&p_winptydll, PV_NONE, {
2877# ifdef _WIN64
2878 (char_u *)"winpty64.dll",
2879# else
2880 (char_u *)"winpty32.dll",
2881# endif
2882 (char_u *)0L}
2883#else
2884 (char_u *)NULL, PV_NONE,
2885 {(char_u *)0L, (char_u *)0L}
2886#endif
2887 SCTX_INIT},
2888 {"winwidth", "wiw", P_NUM|P_VI_DEF,
2889 (char_u *)&p_wiw, PV_NONE,
2890 {(char_u *)20L, (char_u *)0L} SCTX_INIT},
2891 {"wrap", NULL, P_BOOL|P_VI_DEF|P_RWIN,
2892 (char_u *)VAR_WIN, PV_WRAP,
2893 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2894 {"wrapmargin", "wm", P_NUM|P_VI_DEF,
2895 (char_u *)&p_wm, PV_WM,
2896 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2897 {"wrapscan", "ws", P_BOOL|P_VI_DEF,
2898 (char_u *)&p_ws, PV_NONE,
2899 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2900 {"write", NULL, P_BOOL|P_VI_DEF,
2901 (char_u *)&p_write, PV_NONE,
2902 {(char_u *)TRUE, (char_u *)0L} SCTX_INIT},
2903 {"writeany", "wa", P_BOOL|P_VI_DEF,
2904 (char_u *)&p_wa, PV_NONE,
2905 {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
2906 {"writebackup", "wb", P_BOOL|P_VI_DEF|P_VIM,
2907 (char_u *)&p_wb, PV_NONE,
2908 {
2909#ifdef FEAT_WRITEBACKUP
2910 (char_u *)TRUE,
2911#else
2912 (char_u *)FALSE,
2913#endif
2914 (char_u *)0L} SCTX_INIT},
2915 {"writedelay", "wd", P_NUM|P_VI_DEF,
2916 (char_u *)&p_wd, PV_NONE,
2917 {(char_u *)0L, (char_u *)0L} SCTX_INIT},
2918
2919// terminal output codes
2920#define p_term(sss, vvv) {sss, NULL, P_STRING|P_VI_DEF|P_RALL|P_SECURE, \
2921 (char_u *)&vvv, PV_NONE, \
2922 {(char_u *)"", (char_u *)0L} SCTX_INIT},
2923
2924 p_term("t_AB", T_CAB)
2925 p_term("t_AF", T_CAF)
2926 p_term("t_AL", T_CAL)
2927 p_term("t_al", T_AL)
2928 p_term("t_bc", T_BC)
2929 p_term("t_BE", T_BE)
2930 p_term("t_BD", T_BD)
2931 p_term("t_cd", T_CD)
2932 p_term("t_ce", T_CE)
2933 p_term("t_cl", T_CL)
2934 p_term("t_cm", T_CM)
2935 p_term("t_Ce", T_UCE)
2936 p_term("t_Co", T_CCO)
2937 p_term("t_CS", T_CCS)
2938 p_term("t_Cs", T_UCS)
2939 p_term("t_cs", T_CS)
2940 p_term("t_CV", T_CSV)
2941 p_term("t_da", T_DA)
2942 p_term("t_db", T_DB)
2943 p_term("t_DL", T_CDL)
2944 p_term("t_dl", T_DL)
2945 p_term("t_EC", T_CEC)
2946 p_term("t_EI", T_CEI)
2947 p_term("t_fs", T_FS)
2948 p_term("t_GP", T_CGP)
2949 p_term("t_IE", T_CIE)
2950 p_term("t_IS", T_CIS)
2951 p_term("t_ke", T_KE)
2952 p_term("t_ks", T_KS)
2953 p_term("t_le", T_LE)
2954 p_term("t_mb", T_MB)
2955 p_term("t_md", T_MD)
2956 p_term("t_me", T_ME)
2957 p_term("t_mr", T_MR)
2958 p_term("t_ms", T_MS)
2959 p_term("t_nd", T_ND)
2960 p_term("t_op", T_OP)
2961 p_term("t_RF", T_RFG)
2962 p_term("t_RB", T_RBG)
2963 p_term("t_RC", T_CRC)
2964 p_term("t_RI", T_CRI)
2965 p_term("t_Ri", T_SRI)
2966 p_term("t_RS", T_CRS)
2967 p_term("t_RT", T_CRT)
2968 p_term("t_RV", T_CRV)
2969 p_term("t_Sb", T_CSB)
2970 p_term("t_SC", T_CSC)
2971 p_term("t_se", T_SE)
2972 p_term("t_Sf", T_CSF)
2973 p_term("t_SH", T_CSH)
2974 p_term("t_SI", T_CSI)
2975 p_term("t_Si", T_SSI)
2976 p_term("t_so", T_SO)
2977 p_term("t_SR", T_CSR)
2978 p_term("t_sr", T_SR)
2979 p_term("t_ST", T_CST)
2980 p_term("t_Te", T_STE)
2981 p_term("t_te", T_TE)
Bram Moolenaar171a9212019-10-12 21:08:59 +02002982 p_term("t_TE", T_CTE)
Bram Moolenaar0eddca42019-09-12 22:26:43 +02002983 p_term("t_ti", T_TI)
Bram Moolenaar171a9212019-10-12 21:08:59 +02002984 p_term("t_TI", T_CTI)
Bram Moolenaar0eddca42019-09-12 22:26:43 +02002985 p_term("t_Ts", T_STS)
2986 p_term("t_ts", T_TS)
2987 p_term("t_u7", T_U7)
2988 p_term("t_ue", T_UE)
2989 p_term("t_us", T_US)
2990 p_term("t_ut", T_UT)
2991 p_term("t_vb", T_VB)
2992 p_term("t_ve", T_VE)
2993 p_term("t_vi", T_VI)
2994 p_term("t_VS", T_CVS)
2995 p_term("t_vs", T_VS)
2996 p_term("t_WP", T_CWP)
2997 p_term("t_WS", T_CWS)
2998 p_term("t_xn", T_XN)
2999 p_term("t_xs", T_XS)
3000 p_term("t_ZH", T_CZH)
3001 p_term("t_ZR", T_CZR)
3002 p_term("t_8f", T_8F)
3003 p_term("t_8b", T_8B)
3004
3005// terminal key codes are not in here
3006
3007 // end marker
3008 {NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL} SCTX_INIT}
3009};
3010
3011#define PARAM_COUNT (sizeof(options) / sizeof(struct vimoption))
3012
Bram Moolenaardac13472019-09-16 21:06:21 +02003013// The following is needed to make the gen_opt_test.vim script work.
3014// {"