Mercurial > vim
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 |