babarot/enhancd

Error while entering a directory from a directory with spaces on the name

Dominiquini opened this issue · 2 comments

What did you expect to happen?
The terminal should behave normally and the 'enhancd' should log the new visited PATH

What actually happened?
A error is printed on the terminal:

Output

find: ‘/home/rafaeldominiquini/Documents/Projects/ZZZ’: No such file or directory
find: ‘-’: No such file or directory
find: ‘Others’: No such file or directory

Additional context

  1. Delete enhancd.log (The bug only happens the first time the directory is visited!)
  2. Create a dir "/home/username/dir with space/destination"
  3. Navigate to the dir "dir with space": cd /home/username/dir\ with\ space
  4. Navigate to "destination": cd destination
  5. Error is printed on the terminal

Some debug with set -x:

...
+++++ for dir in "${dirs[@]}"
+++++ command find '/home/rafaeldominiquini/Documents/Projects/ZZZ - Others/ugrep' -maxdepth 1 -type d -name '\.*' -prune -o -type d -print
+++++ for dir in "${dirs[@]}"
+++++ command find /home/rafaeldominiquini/Documents/Projects/ZZZ -maxdepth 1 -type d -name '\.*' -prune -o -type d -print
find: ‘/home/rafaeldominiquini/Documents/Projects/ZZZ’: No such file or directory
+++++ for dir in "${dirs[@]}"
+++++ command find - -maxdepth 1 -type d -name '\.*' -prune -o -type d -print
find: ‘-’: No such file or directory
+++++ for dir in "${dirs[@]}"
+++++ command find Others -maxdepth 1 -type d -name '\.*' -prune -o -type d -print
find: ‘Others’: No such file or directory
...

The bug is on the file 'filepath.sh' on the line 22!

Testing on BASH in Ubuntu 22.04 (WSL2 under Windows 10)
App version: "master"

Thanks

I was able to fix this bug:

fix.patch

Take a look if this don't break anything!

Thanks.