diff options
-rw-r--r-- | Filelist | 1 | ||||
-rw-r--r-- | src/Make_mvc.mak | 2 | ||||
-rw-r--r-- | src/Make_vms.mms | 2 | ||||
-rw-r--r-- | src/Makefile | 4 | ||||
-rw-r--r-- | src/option.c | 3207 | ||||
-rw-r--r-- | src/optiondefs.h | 3205 | ||||
-rw-r--r-- | src/version.c | 2 |
7 files changed, 3213 insertions, 3210 deletions
@@ -87,6 +87,7 @@ SRC_ALL = \ src/ops.c \ src/option.c \ src/option.h \ + src/optiondefs.h \ src/popupmnu.c \ src/popupwin.c \ src/profiler.c \ diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index ac02e809ac..5c9553acf6 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1604,7 +1604,7 @@ $(OUTDIR)/channel.obj: $(OUTDIR) channel.c $(INCL) $(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL) -$(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL) +$(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL) optiondefs.h $(OUTDIR)/ops.obj: $(OUTDIR) ops.c $(INCL) diff --git a/src/Make_vms.mms b/src/Make_vms.mms index 607f564352..c3b795820d 100644 --- a/src/Make_vms.mms +++ b/src/Make_vms.mms @@ -714,7 +714,7 @@ ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \ option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \ ascii.h keymap.h term.h macros.h structs.h regexp.h \ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ - globals.h + globals.h optiondefs.h os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \ ascii.h keymap.h term.h macros.h structs.h regexp.h \ gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ diff --git a/src/Makefile b/src/Makefile index 34198ea007..0efd88f70d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3284,7 +3284,7 @@ objects/normal.o: normal.c objects/ops.o: ops.c $(CCC) -o $@ ops.c -objects/option.o: option.c +objects/option.o: option.c optiondefs.h $(CCC_NF) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(RUBY_CFLAGS) $(TCL_CFLAGS) $(ALL_CFLAGS) -o $@ option.c objects/os_beos.o: os_beos.c @@ -3762,7 +3762,7 @@ objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \ objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \ - proto.h globals.h + proto.h globals.h optiondefs.h objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \ diff --git a/src/option.c b/src/option.c index 9070364115..c279acf13e 100644 --- a/src/option.c +++ b/src/option.c @@ -33,3212 +33,7 @@ #define IN_OPTION_C #include "vim.h" - -/* - * The options that are local to a window or buffer have "indir" set to one of - * these values. Special values: - * PV_NONE: global option. - * PV_WIN is added: window-local option - * PV_BUF is added: buffer-local option - * PV_BOTH is added: global option which also has a local value. - */ -#define PV_BOTH 0x1000 -#define PV_WIN 0x2000 -#define PV_BUF 0x4000 -#define PV_MASK 0x0fff -#define OPT_WIN(x) (idopt_T)(PV_WIN + (int)(x)) -#define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x)) -#define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x)) - -/* - * Definition of the PV_ values for buffer-local options. - * The BV_ values are defined in option.h. - */ -#define PV_AI OPT_BUF(BV_AI) -#define PV_AR OPT_BOTH(OPT_BUF(BV_AR)) -#define PV_BKC OPT_BOTH(OPT_BUF(BV_BKC)) -#define PV_BH OPT_BUF(BV_BH) -#define PV_BT OPT_BUF(BV_BT) -#ifdef FEAT_QUICKFIX -# define PV_EFM OPT_BOTH(OPT_BUF(BV_EFM)) -# define PV_GP OPT_BOTH(OPT_BUF(BV_GP)) -# define PV_MP OPT_BOTH(OPT_BUF(BV_MP)) -#endif -#define PV_BIN OPT_BUF(BV_BIN) -#define PV_BL OPT_BUF(BV_BL) -#define PV_BOMB OPT_BUF(BV_BOMB) -#define PV_CI OPT_BUF(BV_CI) -#ifdef FEAT_CINDENT -# define PV_CIN OPT_BUF(BV_CIN) -# define PV_CINK OPT_BUF(BV_CINK) -# define PV_CINO OPT_BUF(BV_CINO) -#endif -#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) -# define PV_CINW OPT_BUF(BV_CINW) -#endif -#define PV_CM OPT_BOTH(OPT_BUF(BV_CM)) -#ifdef FEAT_FOLDING -# define PV_CMS OPT_BUF(BV_CMS) -#endif -#ifdef FEAT_COMMENTS -# define PV_COM OPT_BUF(BV_COM) -#endif -#define PV_CPT OPT_BUF(BV_CPT) -#define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT)) -#define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR)) -#define PV_CSL OPT_BUF(BV_CSL) -#ifdef FEAT_COMPL_FUNC -# define PV_CFU OPT_BUF(BV_CFU) -#endif -#ifdef FEAT_FIND_ID -# define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF)) -# define PV_INC OPT_BOTH(OPT_BUF(BV_INC)) -#endif -#define PV_EOL OPT_BUF(BV_EOL) -#define PV_FIXEOL OPT_BUF(BV_FIXEOL) -#define PV_EP OPT_BOTH(OPT_BUF(BV_EP)) -#define PV_ET OPT_BUF(BV_ET) -#define PV_FENC OPT_BUF(BV_FENC) -#if defined(FEAT_BEVAL) && defined(FEAT_EVAL) -# define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR)) -#endif -#define PV_FP OPT_BOTH(OPT_BUF(BV_FP)) -#ifdef FEAT_EVAL -# define PV_FEX OPT_BUF(BV_FEX) -#endif -#define PV_FF OPT_BUF(BV_FF) -#define PV_FLP OPT_BUF(BV_FLP) -#define PV_FO OPT_BUF(BV_FO) -#define PV_FT OPT_BUF(BV_FT) -#define PV_IMI OPT_BUF(BV_IMI) -#define PV_IMS OPT_BUF(BV_IMS) -#if defined(FEAT_CINDENT) && defined(FEAT_EVAL) -# define PV_INDE OPT_BUF(BV_INDE) -# define PV_INDK OPT_BUF(BV_INDK) -#endif -#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) -# define PV_INEX OPT_BUF(BV_INEX) -#endif -#define PV_INF OPT_BUF(BV_INF) -#define PV_ISK OPT_BUF(BV_ISK) -#ifdef FEAT_CRYPT -# define PV_KEY OPT_BUF(BV_KEY) -#endif -#ifdef FEAT_KEYMAP -# define PV_KMAP OPT_BUF(BV_KMAP) -#endif -#define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) -#ifdef FEAT_LISP -# define PV_LISP OPT_BUF(BV_LISP) -# define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) -#endif -#define PV_MENC OPT_BOTH(OPT_BUF(BV_MENC)) -#define PV_MA OPT_BUF(BV_MA) -#define PV_ML OPT_BUF(BV_ML) -#define PV_MOD OPT_BUF(BV_MOD) -#define PV_MPS OPT_BUF(BV_MPS) -#define PV_NF OPT_BUF(BV_NF) -#ifdef FEAT_COMPL_FUNC -# define PV_OFU OPT_BUF(BV_OFU) -#endif -#define PV_PATH OPT_BOTH(OPT_BUF(BV_PATH)) -#define PV_PI OPT_BUF(BV_PI) -#ifdef FEAT_TEXTOBJ -# define PV_QE OPT_BUF(BV_QE) -#endif -#define PV_RO OPT_BUF(BV_RO) -#ifdef FEAT_SMARTINDENT -# define PV_SI OPT_BUF(BV_SI) -#endif -#define PV_SN OPT_BUF(BV_SN) -#ifdef FEAT_SYN_HL -# define PV_SMC OPT_BUF(BV_SMC) -# define PV_SYN OPT_BUF(BV_SYN) -#endif -#ifdef FEAT_SPELL -# define PV_SPC OPT_BUF(BV_SPC) -# define PV_SPF OPT_BUF(BV_SPF) -# define PV_SPL OPT_BUF(BV_SPL) -#endif -#define PV_STS OPT_BUF(BV_STS) -#ifdef FEAT_SEARCHPATH -# define PV_SUA OPT_BUF(BV_SUA) -#endif -#define PV_SW OPT_BUF(BV_SW) -#define PV_SWF OPT_BUF(BV_SWF) -#ifdef FEAT_EVAL -# define PV_TFU OPT_BUF(BV_TFU) -#endif -#define PV_TAGS OPT_BOTH(OPT_BUF(BV_TAGS)) -#define PV_TC OPT_BOTH(OPT_BUF(BV_TC)) -#define PV_TS OPT_BUF(BV_TS) -#define PV_TW OPT_BUF(BV_TW) -#define PV_TX OPT_BUF(BV_TX) -#ifdef FEAT_PERSISTENT_UNDO -# define PV_UDF OPT_BUF(BV_UDF) -#endif -#define PV_WM OPT_BUF(BV_WM) -#ifdef FEAT_VARTABS -# define PV_VSTS OPT_BUF(BV_VSTS) -# define PV_VTS OPT_BUF(BV_VTS) -#endif - -/* - * Definition of the PV_ values for window-local options. - * The WV_ values are defined in option.h. - */ -#define PV_LIST OPT_WIN(WV_LIST) -#ifdef FEAT_ARABIC -# define PV_ARAB OPT_WIN(WV_ARAB) -#endif -#ifdef FEAT_LINEBREAK -# define PV_BRI OPT_WIN(WV_BRI) -# define PV_BRIOPT OPT_WIN(WV_BRIOPT) -#endif -# define PV_WCR OPT_WIN(WV_WCR) -#ifdef FEAT_DIFF -# define PV_DIFF OPT_WIN(WV_DIFF) -#endif -#ifdef FEAT_FOLDING -# define PV_FDC OPT_WIN(WV_FDC) -# define PV_FEN OPT_WIN(WV_FEN) -# define PV_FDI OPT_WIN(WV_FDI) -# define PV_FDL OPT_WIN(WV_FDL) -# define PV_FDM OPT_WIN(WV_FDM) -# define PV_FML OPT_WIN(WV_FML) -# define PV_FDN OPT_WIN(WV_FDN) -# ifdef FEAT_EVAL -# define PV_FDE OPT_WIN(WV_FDE) -# define PV_FDT OPT_WIN(WV_FDT) -# endif -# define PV_FMR OPT_WIN(WV_FMR) -#endif -#ifdef FEAT_LINEBREAK -# define PV_LBR OPT_WIN(WV_LBR) -#endif -#define PV_NU OPT_WIN(WV_NU) -#define PV_RNU OPT_WIN(WV_RNU) -#ifdef FEAT_LINEBREAK -# define PV_NUW OPT_WIN(WV_NUW) -#endif -#if defined(FEAT_QUICKFIX) -# define PV_PVW OPT_WIN(WV_PVW) -#endif -#ifdef FEAT_RIGHTLEFT -# define PV_RL OPT_WIN(WV_RL) -# define PV_RLC OPT_WIN(WV_RLC) -#endif -#define PV_SCBIND OPT_WIN(WV_SCBIND) -#define PV_SCROLL OPT_WIN(WV_SCROLL) -#define PV_SISO OPT_BOTH(OPT_WIN(WV_SISO)) -#define PV_SO OPT_BOTH(OPT_WIN(WV_SO)) -#ifdef FEAT_SPELL -# define PV_SPELL OPT_WIN(WV_SPELL) -#endif -#ifdef FEAT_SYN_HL -# define PV_CUC OPT_WIN(WV_CUC) -# define PV_CUL OPT_WIN(WV_CUL) -# define PV_CULOPT OPT_WIN(WV_CULOPT) -# define PV_CC OPT_WIN(WV_CC) -#endif -#ifdef FEAT_STL_OPT -# define PV_STL OPT_BOTH(OPT_WIN(WV_STL)) -#endif -#define PV_UL OPT_BOTH(OPT_BUF(BV_UL)) -# define PV_WFH OPT_WIN(WV_WFH) -# define PV_WFW OPT_WIN(WV_WFW) -#define PV_WRAP OPT_WIN(WV_WRAP) -#define PV_CRBIND OPT_WIN(WV_CRBIND) -#ifdef FEAT_CONCEAL -# define PV_COCU OPT_WIN(WV_COCU) -# define PV_COLE OPT_WIN(WV_COLE) -#endif -#ifdef FEAT_TERMINAL -# define PV_TWK OPT_WIN(WV_TWK) -# define PV_TWS OPT_WIN(WV_TWS) -# define PV_TWSL OPT_BUF(BV_TWSL) -#endif -#ifdef FEAT_SIGNS -# define PV_SCL OPT_WIN(WV_SCL) -#endif - -/* WV_ and BV_ values get typecasted to this for the "indir" field */ -typedef enum -{ - PV_NONE = 0, - PV_MAXVAL = 0xffff /* to avoid warnings for value out of range */ -} idopt_T; - -/* - * Options local to a window have a value local to a buffer and global to all - * buffers. Indicate this by setting "var" to VAR_WIN. - */ -#define VAR_WIN ((char_u *)-1) - -/* - * These are the global values for options which are also local to a buffer. - * Only to be used in option.c! - */ -static int p_ai; -static int p_bin; -static int p_bomb; -static char_u *p_bh; -static char_u *p_bt; -static int p_bl; -static int p_ci; -#ifdef FEAT_CINDENT -static int p_cin; -static char_u *p_cink; -static char_u *p_cino; -#endif -#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) -static char_u *p_cinw; -#endif -#ifdef FEAT_COMMENTS -static char_u *p_com; -#endif -#ifdef FEAT_FOLDING -static char_u *p_cms; -#endif -static char_u *p_cpt; -#ifdef FEAT_COMPL_FUNC -static char_u *p_cfu; -static char_u *p_ofu; -#endif -#ifdef FEAT_EVAL -static char_u *p_tfu; -#endif -static int p_eol; -static int p_fixeol; -static int p_et; -static char_u *p_fenc; -static char_u *p_ff; -static char_u *p_fo; -static char_u *p_flp; -static char_u *p_ft; -static long p_iminsert; -static long p_imsearch; -#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) -static char_u *p_inex; -#endif -#if defined(FEAT_CINDENT) && defined(FEAT_EVAL) -static char_u *p_inde; -static char_u *p_indk; -#endif -#if defined(FEAT_EVAL) -static char_u *p_fex; -#endif -static int p_inf; -static char_u *p_isk; -#ifdef FEAT_CRYPT -static char_u *p_key; -#endif -#ifdef FEAT_LISP -static int p_lisp; -#endif -static int p_ml; -static int p_ma; -static int p_mod; -static char_u *p_mps; -static char_u *p_nf; -static int p_pi; -#ifdef FEAT_TEXTOBJ -static char_u *p_qe; -#endif -static int p_ro; -#ifdef FEAT_SMARTINDENT -static int p_si; -#endif -static int p_sn; -static long p_sts; -#if defined(FEAT_SEARCHPATH) -static char_u *p_sua; -#endif -static long p_sw; -static int p_swf; -#ifdef FEAT_SYN_HL -static long p_smc; -static char_u *p_syn; -#endif -#ifdef FEAT_SPELL -static char_u *p_spc; -static char_u *p_spf; -static char_u *p_spl; -#endif -static long p_ts; -static long p_tw; -static int p_tx; -#ifdef FEAT_PERSISTENT_UNDO -static int p_udf; -#endif -static long p_wm; -#ifdef FEAT_VARTABS -static char_u *p_vsts; -static char_u *p_vts; -#endif -#ifdef FEAT_KEYMAP -static char_u *p_keymap; -#endif -#ifdef FEAT_TERMINAL -static long p_twsl; /* 'termwinscroll' */ -#endif - -/* Saved values for when 'bin' is set. */ -static int p_et_nobin; -static int p_ml_nobin; -static long p_tw_nobin; -static long p_wm_nobin; - -/* Saved values for when 'paste' is set */ -static int p_ai_nopaste; -static int p_et_nopaste; -static long p_sts_nopaste; -static long p_tw_nopaste; -static long p_wm_nopaste; -#ifdef FEAT_VARTABS -static char_u *p_vsts_nopaste; -#endif - -struct vimoption -{ - char *fullname; // full option name - char *shortname; // permissible abbreviation - long_u flags; // see below - char_u *var; // global option: pointer to variable; - // window-local option: VAR_WIN; - // buffer-local option: global value - idopt_T indir; // global option: PV_NONE; - // local option: indirect option index - char_u *def_val[2]; // default values for variable (vi and vim) -#ifdef FEAT_EVAL - sctx_T script_ctx; // script context where the option was last set -# define SCTX_INIT , {0, 0, 0, 1} -#else -# define SCTX_INIT -#endif -}; - -#define VI_DEFAULT 0 /* def_val[VI_DEFAULT] is Vi default value */ -#define VIM_DEFAULT 1 /* def_val[VIM_DEFAULT] is Vim default value */ - -/* - * Flags - */ -#define P_BOOL 0x01 /* the option is boolean */ -#define P_NUM 0x02 /* the option is numeric */ -#define P_STRING 0x04 /* the option is a string */ -#define P_ALLOCED 0x08 /* the string option is in allocated memory, - must use free_string_option() when - assigning new value. Not set if default is - the same. */ -#define P_EXPAND 0x10 /* environment expansion. NOTE: P_EXPAND can - never be used for local or hidden options! */ -#define P_NODEFAULT 0x40 /* don't set to default value */ -#define P_DEF_ALLOCED 0x80 /* default value is in allocated memory, must - use vim_free() when assigning new value */ -#define P_WAS_SET 0x100 /* option has been set/reset */ -#define P_NO_MKRC 0x200 /* don't include in :mkvimrc output */ -#define P_VI_DEF 0x400 /* Use Vi default for Vim */ -#define P_VIM 0x800 /* Vim option, reset when 'cp' set */ - - /* when option changed, what to display: */ -#define P_RSTAT 0x1000 /* redraw status lines */ -#define P_RWIN 0x2000 /* redraw current window and recompute text */ -#define P_RBUF 0x4000 /* redraw current buffer and recompute text */ -#define P_RALL 0x6000 /* redraw all windows */ -#define P_RCLR 0x7000 /* clear and redraw all */ - -#define P_COMMA 0x8000 /* comma separated list */ -#define P_ONECOMMA 0x18000L /* P_COMMA and cannot have two consecutive - * commas */ -#define P_NODUP 0x20000L /* don't allow duplicate strings */ -#define P_FLAGLIST 0x40000L /* list of single-char flags */ - -#define P_SECURE 0x80000L /* cannot change in modeline or secure mode */ -#define P_GETTEXT 0x100000L /* expand default value with _() */ -#define P_NOGLOB 0x200000L /* do not use local value for global vimrc */ -#define P_NFNAME 0x400000L /* only normal file name chars allowed */ -#define P_INSECURE 0x800000L /* option was set from a modeline */ -#define P_PRI_MKRC 0x1000000L /* priority for :mkvimrc (setting option has - side effects) */ -#define P_NO_ML 0x2000000L /* not allowed in modeline */ -#define P_CURSWANT 0x4000000L /* update curswant required; not needed when - * there is a redraw flag */ -#define P_NDNAME 0x8000000L /* only normal dir name chars allowed */ -#define P_RWINONLY 0x10000000L /* only redraw current window */ -#define P_MLE 0x20000000L /* under control of 'modelineexpr' */ - -#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255" - -/* 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used - * for the currency sign. */ -#if defined(MSWIN) -# define ISP_LATIN1 (char_u *)"@,~-255" -#else -# define ISP_LATIN1 (char_u *)"@,161-255" -#endif - -# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,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" - -/* Default python version for pyx* commands */ -#if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3) -# define DEFAULT_PYTHON_VER 0 -#elif defined(FEAT_PYTHON3) -# define DEFAULT_PYTHON_VER 3 -#elif defined(FEAT_PYTHON) -# define DEFAULT_PYTHON_VER 2 -#else -# define DEFAULT_PYTHON_VER 0 -#endif - -// used for 'cinkeys' and 'indentkeys' -#define INDENTKEYS_DEFAULT (char_u *)"0{,0},0),0],:,0#,!^F,o,O,e" - -/* - * options[] is initialized here. - * The order of the options MUST be alphabetic for ":set all" and findoption(). - * All option names MUST start with a lowercase letter (for findoption()). - * Exception: "t_" options are at the end. - * The options with a NULL variable are 'hidden': a set command for them is - * ignored and they are not printed. - */ -static struct vimoption options[] = -{ - {"aleph", "al", P_NUM|P_VI_DEF|P_CURSWANT, -#ifdef FEAT_RIGHTLEFT - (char_u *)&p_aleph, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - { -#if defined(MSWIN) && !defined(FEAT_GUI_MSWIN) - (char_u *)128L, -#else - (char_u *)224L, -#endif - (char_u *)0L} SCTX_INIT}, - {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, -#if defined(FEAT_GUI_MAC) - (char_u *)&p_antialias, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} -#endif - SCTX_INIT}, - {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT, -#ifdef FEAT_ARABIC - (char_u *)VAR_WIN, PV_ARAB, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, -#ifdef FEAT_ARABIC - (char_u *)&p_arshape, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, - {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM, -#ifdef FEAT_RIGHTLEFT - (char_u *)&p_ari, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"altkeymap", "akm", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_ambw, PV_NONE, - {(char_u *)"single", (char_u *)0L} - SCTX_INIT}, - {"autochdir", "acd", P_BOOL|P_VI_DEF, -#ifdef FEAT_AUTOCHDIR - (char_u *)&p_acd, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"autoindent", "ai", P_BOOL|P_VI_DEF, - (char_u *)&p_ai, PV_AI, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"autoprint", "ap", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"autoread", "ar", P_BOOL|P_VI_DEF, - (char_u *)&p_ar, PV_AR, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"autowrite", "aw", P_BOOL|P_VI_DEF, - (char_u *)&p_aw, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"autowriteall","awa", P_BOOL|P_VI_DEF, - (char_u *)&p_awa, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"background", "bg", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_bg, PV_NONE, - { -#if (defined(MSWIN)) && !defined(FEAT_GUI) - (char_u *)"dark", -#else - (char_u *)"light", -#endif - (char_u *)0L} SCTX_INIT}, - {"backspace", "bs", P_STRING|P_VI_DEF|P_VIM|P_ONECOMMA|P_NODUP, - (char_u *)&p_bs, PV_NONE, - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_bk, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"backupcopy", "bkc", P_STRING|P_VIM|P_ONECOMMA|P_NODUP, - (char_u *)&p_bkc, PV_BKC, -#ifdef UNIX - {(char_u *)"yes", (char_u *)"auto"} -#else - {(char_u *)"auto", (char_u *)"auto"} -#endif - SCTX_INIT}, - {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA - |P_NODUP|P_SECURE, - (char_u *)&p_bdir, PV_NONE, - {(char_u *)DFLT_BDIR, (char_u *)0L} SCTX_INIT}, - {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_bex, PV_NONE, - { -#ifdef VMS - (char_u *)"_", -#else - (char_u *)"~", -#endif - (char_u *)0L} SCTX_INIT}, - {"backupskip", "bsk", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, -#ifdef FEAT_WILDIGN - (char_u *)&p_bsk, PV_NONE, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"balloondelay","bdlay",P_NUM|P_VI_DEF, -#ifdef FEAT_BEVAL - (char_u *)&p_bdlay, PV_NONE, - {(char_u *)600L, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC, -#ifdef FEAT_BEVAL_GUI - (char_u *)&p_beval, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC, -#ifdef FEAT_BEVAL_TERM - (char_u *)&p_bevalterm, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM|P_MLE, -#if defined(FEAT_BEVAL) && defined(FEAT_EVAL) - (char_u *)&p_bexpr, PV_BEXPR, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"beautify", "bf", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"belloff", "bo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_bo, PV_NONE, - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_bin, PV_BIN, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"bioskey", "biosk",P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)TRUE, (char_u *)0L} SCTX_INIT}, - {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_bomb, PV_BOMB, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, -#ifdef FEAT_LINEBREAK - (char_u *)&p_breakat, PV_NONE, - {(char_u *)" \t!@*-+;:,./?", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"breakindent", "bri", P_BOOL|P_VI_DEF|P_VIM|P_RWIN, -#ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_BRI, - {(char_u *)FALSE, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"breakindentopt", "briopt", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF - |P_ONECOMMA|P_NODUP, -#ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_BRIOPT, - {(char_u *)"", (char_u *)NULL} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)NULL} -#endif - SCTX_INIT}, - {"browsedir", "bsdir",P_STRING|P_VI_DEF, -#ifdef FEAT_BROWSE - (char_u *)&p_bsdir, PV_NONE, - {(char_u *)"last", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bh, PV_BH, - {(char_u *)"", (char_u *)0L} - SCTX_INIT}, - {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bl, PV_BL, - {(char_u *)1L, (char_u *)0L} - SCTX_INIT}, - {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bt, PV_BT, - {(char_u *)"", (char_u *)0L} - SCTX_INIT}, - {"casemap", "cmp", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, - (char_u *)&p_cmp, PV_NONE, - {(char_u *)"internal,keepascii", (char_u *)0L} - SCTX_INIT}, - {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP, -#ifdef FEAT_SEARCHPATH - (char_u *)&p_cdpath, PV_NONE, - {(char_u *)",,", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cedit", NULL, P_STRING, -#ifdef FEAT_CMDWIN - (char_u *)&p_cedit, PV_NONE, - {(char_u *)"", (char_u *)CTRL_F_STR} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE, -#if defined(FEAT_EVAL) - (char_u *)&p_ccv, PV_NONE, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM, -#ifdef FEAT_CINDENT - (char_u *)&p_cin, PV_CIN, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, -#ifdef FEAT_CINDENT - (char_u *)&p_cink, PV_CINK, - {INDENTKEYS_DEFAULT, (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, -#ifdef FEAT_CINDENT - (char_u *)&p_cino, PV_CINO, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, -#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) - (char_u *)&p_cinw, PV_CINW, - {(char_u *)"if,else,while,do,for,switch", - (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"clipboard", "cb", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, -#ifdef FEAT_CLIPBOARD - (char_u *)&p_cb, PV_NONE, -# ifdef FEAT_XCLIPBOARD - {(char_u *)"autoselect,exclude:cons\\|linux", - (char_u *)0L} -# else - {(char_u *)"", (char_u *)0L} -# endif -#else - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} -#endif - SCTX_INIT}, - {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_ch, PV_NONE, - {(char_u *)1L, (char_u *)0L} SCTX_INIT}, - {"cmdwinheight", "cwh", P_NUM|P_VI_DEF, -#ifdef FEAT_CMDWIN - (char_u *)&p_cwh, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)7L, (char_u *)0L} SCTX_INIT}, - {"colorcolumn", "cc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN, -#ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CC, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Columns, PV_NONE, - {(char_u *)80L, (char_u *)0L} SCTX_INIT}, - {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA - |P_NODUP|P_CURSWANT, -#ifdef FEAT_COMMENTS - (char_u *)&p_com, PV_COM, - {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-", - (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, -#ifdef FEAT_FOLDING - (char_u *)&p_cms, PV_CMS, - {(char_u *)"/*%s*/", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - /* P_PRI_MKRC isn't needed here, optval_default() - * always returns TRUE for 'compatible' */ - {"compatible", "cp", P_BOOL|P_RALL, - (char_u *)&p_cp, PV_NONE, - {(char_u *)TRUE, (char_u *)FALSE} SCTX_INIT}, - {"complete", "cpt", P_STRING|P_ALLOCED|P_VI_DEF|P_ONECOMMA|P_NODUP, - (char_u *)&p_cpt, PV_CPT, - {(char_u *)".,w,b,u,t,i", (char_u *)0L} - SCTX_INIT}, - {"concealcursor","cocu", P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF, -#ifdef FEAT_CONCEAL - (char_u *)VAR_WIN, PV_COCU, - {(char_u *)"", (char_u *)NULL} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} -#endif - SCTX_INIT}, - {"conceallevel","cole", P_NUM|P_RWIN|P_VI_DEF, -#ifdef FEAT_CONCEAL - (char_u *)VAR_WIN, PV_COLE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} - SCTX_INIT}, - {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, -#ifdef FEAT_COMPL_FUNC - (char_u *)&p_cfu, PV_CFU, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"completeopt", "cot", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, - (char_u *)&p_cot, PV_NONE, - {(char_u *)"menu,preview", (char_u *)0L} - SCTX_INIT}, - {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, -#if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX) - (char_u *)&p_cpp, PV_NONE, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} -#endif - SCTX_INIT}, - {"completeslash", "csl", P_STRING|P_VI_DEF|P_VIM, -#if defined(BACKSLASH_IN_FILENAME) - (char_u *)&p_csl, PV_CSL, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"confirm", "cf", P_BOOL|P_VI_DEF, -#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - (char_u *)&p_confirm, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"conskey", "consk",P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ci, PV_CI, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST, - (char_u *)&p_cpo, PV_NONE, - {(char_u *)CPO_VI, (char_u *)CPO_VIM} - SCTX_INIT}, - {"cryptmethod", "cm", P_STRING|P_ALLOCED|P_VI_DEF, -#ifdef FEAT_CRYPT - (char_u *)&p_cm, PV_CM, - {(char_u *)"blowfish2", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, -#ifdef FEAT_CSCOPE - (char_u *)&p_cspc, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} SCTX_INIT}, - {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, -#ifdef FEAT_CSCOPE - (char_u *)&p_csprg, PV_NONE, - {(char_u *)"cscope", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, -#if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX) - (char_u *)&p_csqf, PV_NONE, - {(char_u *)"", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif - SCTX_INIT}, - {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM, -#ifdef FEAT_CSCOPE - (char_u *)&p_csre, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} SCTX_INIT}, - {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM, -#ifdef FEAT_CSCOPE - (char_u *)&p_cst, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} SCTX_INIT}, - {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM, -#ifdef FEAT_CSCOPE - (char_u *)&p_csto, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} SCTX_INIT}, - {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM, -#ifdef FEAT_CSCOPE - (char_u *)&p_csverbose, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)0L, (char_u *)0L} SCTX_INIT}, - {"cursorbind", "crb", P_BOOL|P_VI_DEF, - (char_u *)VAR_WIN, PV_CRBIND, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY, -#ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUC, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWINONLY, -#ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUL, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"cursorlineopt", "culopt", P_STRING|P_VI_DEF|P_RWIN, -#ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CULOPT, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)"both", (char_u *)0L} SCTX_INIT}, - {"debug", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_debug, PV_NONE, - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT, -#ifdef FEAT_FIND_ID - (char_u *)&p_def, PV_DEF, - {(char_u *)"^\\s*#\\s*define", (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} -#endif - SCTX_INIT}, - {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_deco, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME, - (char_u *)&p_dict, PV_DICT, - {(char_u *)"", (char_u *)0L} SCTX_INIT}, - {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB, -#ifdef FEAT_DIFF - (char_u *)VAR_WIN, PV_DIFF, -#else - (char_u *)NULL, PV_NONE, -#endif - {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, - {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT, -#if defi |