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