comparison src/option.c @ 17543:77c3f6428b6c v8.1.1769

patch 8.1.1769: 'shellslash' is also used for completion commit https://github.com/vim/vim/commit/ac3150d385e6e3f3fe76642aac3cda954d30583f Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 28 16:36:39 2019 +0200 patch 8.1.1769: 'shellslash' is also used for completion Problem: 'shellslash' is also used for completion. Solution: Add the 'completeslash' option. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/3612)
author Bram Moolenaar <Bram@vim.org>
date Sun, 28 Jul 2019 16:45:05 +0200
parents d4b2a212fa2f
children e5dabc127143
comparison
equal deleted inserted replaced
17542:8ff04f492f46 17543:77c3f6428b6c
86 #ifdef FEAT_INS_EXPAND 86 #ifdef FEAT_INS_EXPAND
87 # define PV_CPT OPT_BUF(BV_CPT) 87 # define PV_CPT OPT_BUF(BV_CPT)
88 # define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT)) 88 # define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT))
89 # define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR)) 89 # define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR))
90 #endif 90 #endif
91 #define PV_CSL OPT_BUF(BV_CSL)
91 #ifdef FEAT_COMPL_FUNC 92 #ifdef FEAT_COMPL_FUNC
92 # define PV_CFU OPT_BUF(BV_CFU) 93 # define PV_CFU OPT_BUF(BV_CFU)
93 #endif 94 #endif
94 #ifdef FEAT_FIND_ID 95 #ifdef FEAT_FIND_ID
95 # define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF)) 96 # define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF))
885 SCTX_INIT}, 886 SCTX_INIT},
886 {"completeopt", "cot", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, 887 {"completeopt", "cot", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
887 #ifdef FEAT_INS_EXPAND 888 #ifdef FEAT_INS_EXPAND
888 (char_u *)&p_cot, PV_NONE, 889 (char_u *)&p_cot, PV_NONE,
889 {(char_u *)"menu,preview", (char_u *)0L} 890 {(char_u *)"menu,preview", (char_u *)0L}
891 #else
892 (char_u *)NULL, PV_NONE,
893 {(char_u *)0L, (char_u *)0L}
894 #endif
895 SCTX_INIT},
896 {"completeslash", "csl", P_STRING|P_VI_DEF|P_VIM,
897 #if defined(FEAT_INS_EXPAND) && defined(BACKSLASH_IN_FILENAME)
898 (char_u *)&p_csl, PV_CSL,
899 {(char_u *)"", (char_u *)0L}
890 #else 900 #else
891 (char_u *)NULL, PV_NONE, 901 (char_u *)NULL, PV_NONE,
892 {(char_u *)0L, (char_u *)0L} 902 {(char_u *)0L, (char_u *)0L}
893 #endif 903 #endif
894 SCTX_INIT}, 904 SCTX_INIT},
3236 NULL}; 3246 NULL};
3237 static char *(p_fcl_values[]) = {"all", NULL}; 3247 static char *(p_fcl_values[]) = {"all", NULL};
3238 #endif 3248 #endif
3239 #ifdef FEAT_INS_EXPAND 3249 #ifdef FEAT_INS_EXPAND
3240 static char *(p_cot_values[]) = {"menu", "menuone", "longest", "preview", "noinsert", "noselect", NULL}; 3250 static char *(p_cot_values[]) = {"menu", "menuone", "longest", "preview", "noinsert", "noselect", NULL};
3251 # ifdef BACKSLASH_IN_FILENAME
3252 static char *(p_csl_values[]) = {"slash", "backslash", NULL};
3253 # endif
3241 #endif 3254 #endif
3242 #ifdef FEAT_SIGNS 3255 #ifdef FEAT_SIGNS
3243 static char *(p_scl_values[]) = {"yes", "no", "auto", "number", NULL}; 3256 static char *(p_scl_values[]) = {"yes", "no", "auto", "number", NULL};
3244 #endif 3257 #endif
3245 #if defined(MSWIN) && defined(FEAT_TERMINAL) 3258 #if defined(MSWIN) && defined(FEAT_TERMINAL)
7407 } 7420 }
7408 } 7421 }
7409 } 7422 }
7410 } 7423 }
7411 7424
7412 /* 'completeopt' */ 7425 // 'completeopt'
7413 else if (varp == &p_cot) 7426 else if (varp == &p_cot)
7414 { 7427 {
7415 if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK) 7428 if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK)
7416 errmsg = e_invarg; 7429 errmsg = e_invarg;
7417 else 7430 else
7418 completeopt_was_set(); 7431 completeopt_was_set();
7419 } 7432 }
7420 #endif /* FEAT_INS_EXPAND */ 7433
7434 # ifdef BACKSLASH_IN_FILENAME
7435 // 'completeslash'
7436 else if (varp == &curbuf->b_p_csl)
7437 {
7438 if (check_opt_strings(p_csl, p_csl_values, FALSE) != OK)
7439 errmsg = e_invarg;
7440 }
7441 # endif
7442 #endif // FEAT_INS_EXPAND
7421 7443
7422 #ifdef FEAT_SIGNS 7444 #ifdef FEAT_SIGNS
7423 // 'signcolumn' 7445 // 'signcolumn'
7424 else if (varp == &curwin->w_p_scl) 7446 else if (varp == &curwin->w_p_scl)
7425 { 7447 {
11108 case PV_LW: return *curbuf->b_p_lw != NUL 11130 case PV_LW: return *curbuf->b_p_lw != NUL
11109 ? (char_u *)&(curbuf->b_p_lw) : p->var; 11131 ? (char_u *)&(curbuf->b_p_lw) : p->var;
11110 #endif 11132 #endif
11111 case PV_MENC: return *curbuf->b_p_menc != NUL 11133 case PV_MENC: return *curbuf->b_p_menc != NUL
11112 ? (char_u *)&(curbuf->b_p_menc) : p->var; 11134 ? (char_u *)&(curbuf->b_p_menc) : p->var;
11113
11114 #ifdef FEAT_ARABIC 11135 #ifdef FEAT_ARABIC
11115 case PV_ARAB: return (char_u *)&(curwin->w_p_arab); 11136 case PV_ARAB: return (char_u *)&(curwin->w_p_arab);
11116 #endif 11137 #endif
11117 case PV_LIST: return (char_u *)&(curwin->w_p_list); 11138 case PV_LIST: return (char_u *)&(curwin->w_p_list);
11118 #ifdef FEAT_SPELL 11139 #ifdef FEAT_SPELL
11195 #ifdef FEAT_FOLDING 11216 #ifdef FEAT_FOLDING
11196 case PV_CMS: return (char_u *)&(curbuf->b_p_cms); 11217 case PV_CMS: return (char_u *)&(curbuf->b_p_cms);
11197 #endif 11218 #endif
11198 #ifdef FEAT_INS_EXPAND 11219 #ifdef FEAT_INS_EXPAND
11199 case PV_CPT: return (char_u *)&(curbuf->b_p_cpt); 11220 case PV_CPT: return (char_u *)&(curbuf->b_p_cpt);
11221 # ifdef BACKSLASH_IN_FILENAME
11222 case PV_CSL: return (char_u *)&(curbuf->b_p_csl);
11223 # endif
11200 #endif 11224 #endif
11201 #ifdef FEAT_COMPL_FUNC 11225 #ifdef FEAT_COMPL_FUNC
11202 case PV_CFU: return (char_u *)&(curbuf->b_p_cfu); 11226 case PV_CFU: return (char_u *)&(curbuf->b_p_cfu);
11203 case PV_OFU: return (char_u *)&(curbuf->b_p_ofu); 11227 case PV_OFU: return (char_u *)&(curbuf->b_p_ofu);
11204 #endif 11228 #endif
11589 buf->b_p_ml_nobin = p_ml_nobin; 11613 buf->b_p_ml_nobin = p_ml_nobin;
11590 buf->b_p_inf = p_inf; 11614 buf->b_p_inf = p_inf;
11591 buf->b_p_swf = cmdmod.noswapfile ? FALSE : p_swf; 11615 buf->b_p_swf = cmdmod.noswapfile ? FALSE : p_swf;
11592 #ifdef FEAT_INS_EXPAND 11616 #ifdef FEAT_INS_EXPAND
11593 buf->b_p_cpt = vim_strsave(p_cpt); 11617 buf->b_p_cpt = vim_strsave(p_cpt);
11618 # ifdef BACKSLASH_IN_FILENAME
11619 buf->b_p_csl = vim_strsave(p_csl);
11620 # endif
11594 #endif 11621 #endif
11595 #ifdef FEAT_COMPL_FUNC 11622 #ifdef FEAT_COMPL_FUNC
11596 buf->b_p_cfu = vim_strsave(p_cfu); 11623 buf->b_p_cfu = vim_strsave(p_cfu);
11597 buf->b_p_ofu = vim_strsave(p_ofu); 11624 buf->b_p_ofu = vim_strsave(p_ofu);
11598 #endif 11625 #endif