diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-03 20:43:08 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-03 20:43:08 +0100 |
commit | 8a37b032895b40dd6953280c33585bcba0c7ef8b (patch) | |
tree | c39fe8ece690663f153d7d27c5baaf7baba76e47 /src | |
parent | ec48a9c58989babcad23d73483955f35b6e41492 (diff) | |
download | vim-git-8a37b032895b40dd6953280c33585bcba0c7ef8b.tar.gz |
patch 8.0.1464: completing directory after :find does not add slashv8.0.1464
Problem: Completing directory after :find does not add slash.
Solution: Adjust the flags for globpath(). (Genki Sky)
Diffstat (limited to 'src')
-rw-r--r-- | src/misc1.c | 7 | ||||
-rw-r--r-- | src/testdir/test_find_complete.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/misc1.c b/src/misc1.c index 2d635d677..726500a4c 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -10761,6 +10761,7 @@ expand_in_path( char_u *curdir; garray_T path_ga; char_u *paths = NULL; + int glob_flags = 0; if ((curdir = alloc((unsigned)MAXPATHL)) == NULL) return 0; @@ -10777,7 +10778,11 @@ expand_in_path( if (paths == NULL) return 0; - globpath(paths, pattern, gap, (flags & EW_ICASE) ? WILD_ICASE : 0); + if (flags & EW_ICASE) + glob_flags |= WILD_ICASE; + if (flags & EW_ADDSLASH) + glob_flags |= WILD_ADD_SLASH; + globpath(paths, pattern, gap, glob_flags); vim_free(paths); return gap->ga_len; diff --git a/src/testdir/test_find_complete.vim b/src/testdir/test_find_complete.vim index 4732109ed..a7bc135d4 100644 --- a/src/testdir/test_find_complete.vim +++ b/src/testdir/test_find_complete.vim @@ -86,6 +86,12 @@ func Test_find_complete() call feedkeys(":find f\t\n", "xt") call assert_equal('Holy Grail', getline(1)) + " Test that find completion on directory appends a slash + call feedkeys(":find in/pa\tfile.txt\n", "xt") + call assert_equal('E.T.', getline(1)) + call feedkeys(":find ./i\tstuff.txt\n", "xt") + call assert_equal('Another Holy Grail', getline(1)) + " Test shortening of " " foo/x/bar/voyager.txt diff --git a/src/version.c b/src/version.c index af192797f..811d52105 100644 --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1464, +/**/ 1463, /**/ 1462, |