Use ${(Q)arg} to expand a level of quotes, such that files/directories with spaces in their name (escaped with backslash) are noticed correctly.

This commit is contained in:
Arlen Cuss 2011-01-08 15:51:26 +11:00
parent d2f641ca50
commit a40d777860
2 changed files with 5 additions and 4 deletions

View file

@ -87,3 +87,4 @@ This must be done **after** the script is sourced, otherwise your styles will be
* [Takeshi Banse](https://github.com/hchbaw)
* [Sorin Ionescu](https://github.com/SpookyET)
* [Clayton Parker](https://github.com/claytron)
* [Arlen Cuss](https://github.com/celtic)

View file

@ -74,10 +74,10 @@ zle_highlight=(
# Check if the argument is a path.
_zsh_check-path() {
[[ -z $arg ]] && return 1
[[ -e $arg ]] && return 0
[[ ! -e ${arg:h} ]] && return 1
[[ ${#BUFFER} == $end_pos && -n $(print $arg*(N)) ]] && return 0
[[ -z ${(Q)arg} ]] && return 1
[[ -e ${(Q)arg} ]] && return 0
[[ ! -e ${(Q)arg:h} ]] && return 1
[[ ${#BUFFER} == $end_pos && -n $(print ${(Q)arg}*(N)) ]] && return 0
return 1
}