Description
This may be the result of a bug in vim and neovim, but it appears that passing an escaped directory path to isdirectory
results in a false negative. This prevents a bookmark such as /Path/To Directory
from changing directories, though it will still open the directory in netrw.
I've done the following debugging:
let dir='/path/with space'
echo isdirectory(dir) => 1
echo isdirectory(fnameescape(dir)) => 0
This effects startify
because the escaped path is passed into s:check_user_options(path)
and the checks for isdirectory
there prevent it from ever attempting to change directory.
Inconsistently, execute 'lcd' dir
or execute 'lcd' fnameescape(dir)
both work just fine. It only appears to be an issue with passing as a parameter. I also don't see a method for unescaping the path. I thought about using substitution, but that would break for Windows paths.
Not sure if there's another work around here besides renaming my directories.