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