diff --git a/zsh-syntax-highlighting.plugin.zsh b/zsh-syntax-highlighting.plugin.zsh index 2fa8b3b..f2456ae 100644 --- a/zsh-syntax-highlighting.plugin.zsh +++ b/zsh-syntax-highlighting.plugin.zsh @@ -1 +1,2 @@ +0=${(%):-%N} source ${0:A:h}/zsh-syntax-highlighting.zsh diff --git a/zsh-syntax-highlighting.zsh b/zsh-syntax-highlighting.zsh index 5ba8695..87967b6 100644 --- a/zsh-syntax-highlighting.zsh +++ b/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 # -------------------------------------------------------------------------------------------------