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