mhinz / vim-startify

:link: The fancy start screen for Vim.
MIT License
5.3k stars 186 forks source link

Bookmarked directory with a space in the name #454

Open ViViDboarder opened 3 years ago

ViViDboarder commented 3 years ago

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.