aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorskippi <jbtcao@gmail.com>2020-10-18 21:36:30 -0500
committerskippi <jbtcao@gmail.com>2020-10-26 15:20:12 -0500
commit089f4f8e4a297aa8e7c689331ffd16ffe415120a (patch)
tree8fc9491acc11254133dfd2c539dd221954b5086d /src/nvim/edit.c
parenta22fe09b90a52f451d9fd8d3372b8c390dd1dc1a (diff)
downloadrneovim-089f4f8e4a297aa8e7c689331ffd16ffe415120a.tar.gz
rneovim-089f4f8e4a297aa8e7c689331ffd16ffe415120a.tar.bz2
rneovim-089f4f8e4a297aa8e7c689331ffd16ffe415120a.zip
vim-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 vim/vim#3612) https://github.com/vim/vim/commit/ac3150d385e6e3f3fe76642aac3cda954d30583f
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index b3261cfce6..ac0e6cc9f6 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -4171,6 +4171,21 @@ static int ins_compl_get_exp(pos_T *ini)
EW_FILE|EW_DIR|EW_ADDSLASH|EW_SILENT) == OK) {
// May change home directory back to "~".
tilde_replace(compl_pattern, num_matches, matches);
+#ifdef BACKSLASH_IN_FILENAME
+ if (curbuf->b_p_csl[0] != NUL) {
+ for (int i = 0; i < num_matches; i++) {
+ char_u *ptr = matches[i];
+ while (*ptr != NUL) {
+ if (curbuf->b_p_csl[0] == 's' && *ptr == '\\') {
+ *ptr = '/';
+ } else if (curbuf->b_p_csl[0] == 'b' && *ptr == '/') {
+ *ptr = '\\';
+ }
+ ptr += utfc_ptr2len(ptr);
+ }
+ }
+ }
+#endif
ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
}
break;