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