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