driver: Stop requiring function_argzero.
Instead, use the %N prompt expando, as suggested by Bart in users/21637. Avoid the `print -P %N` syntax to save a fork on Cygwin, at the expense of not supporting zsh's from 2001 through c. 2004 vintages. Fixes #338.
This commit is contained in:
parent
d9e07b5082
commit
750aebc553
@ -1 +1,2 @@
|
||||
0=${(%):-%N}
|
||||
source ${0:A:h}/zsh-syntax-highlighting.zsh
|
||||
|
@ -28,7 +28,9 @@
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
if [[ -o function_argzero ]]; then
|
||||
# Set $0 to the expected value, regardless of functionargzero.
|
||||
0=${(%):-%N}
|
||||
if true; then
|
||||
# $0 is reliable
|
||||
ZSH_HIGHLIGHT_VERSION=$(<"${0:A:h}"/.version)
|
||||
ZSH_HIGHLIGHT_REVISION=$(<"${0:A:h}"/.revision-hash)
|
||||
@ -38,12 +40,6 @@ if [[ -o function_argzero ]]; then
|
||||
# the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so:
|
||||
ZSH_HIGHLIGHT_REVISION=HEAD
|
||||
fi
|
||||
else
|
||||
# $0 is unreliable, so the call to _zsh_highlight_load_highlighters will fail.
|
||||
# TODO: If 'zmodload zsh/parameter' is available, ${funcsourcetrace[1]%:*} might serve as a substitute?
|
||||
# TODO: also check POSIX_ARGZERO, but note it's not available in older zsh
|
||||
echo "zsh-syntax-highlighting: error: not compatible with NO_FUNCTION_ARGZERO" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user