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