diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_docmd.c | 2 | ||||
-rw-r--r-- | src/nvim/file_search.c | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index e5c05a2498..86f387d9a5 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -6949,7 +6949,7 @@ void free_cd_dir(void) #endif -static void apply_autocmd_dirchanged(char_u *new_dir, CdScope scope) +void apply_autocmd_dirchanged(char_u *new_dir, CdScope scope) { dict_T *dict = get_vim_var_dict(VV_EVENT); char buf[8]; diff --git a/src/nvim/file_search.c b/src/nvim/file_search.c index 2ac8e27047..56c0cb73a6 100644 --- a/src/nvim/file_search.c +++ b/src/nvim/file_search.c @@ -51,6 +51,7 @@ #include "nvim/ascii.h" #include "nvim/file_search.h" #include "nvim/charset.h" +#include "nvim/ex_docmd.h" #include "nvim/fileio.h" #include "nvim/memory.h" #include "nvim/message.h" @@ -1531,7 +1532,12 @@ int vim_chdirfile(char_u *fname) STRLCPY(dir, fname, MAXPATHL); *path_tail_with_sep(dir) = NUL; - return os_chdir((char *)dir) == 0 ? OK : FAIL; + if (os_chdir((char *)dir) != 0) { + return FAIL; + } + apply_autocmd_dirchanged(dir, kCdScopeWindow); + + return OK; } /// Change directory to "new_dir". Search 'cdpath' for relative directory names. |