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