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