diff --git a/zsh-syntax-highlighting.zsh b/zsh-syntax-highlighting.zsh index 54d52a1..bed6e64 100644 --- a/zsh-syntax-highlighting.zsh +++ b/zsh-syntax-highlighting.zsh @@ -32,6 +32,13 @@ if [[ -o function_argzero ]]; then # $0 is reliable ZSH_HIGHLIGHT_VERSION=$(<"$0:h"/.version) + ZSH_HIGHLIGHT_REVISION=$(<"$0:h"/.revision-hash) + if [[ $ZSH_HIGHLIGHT_REVISION == \$Format:* ]]; then + # When running from a source tree without 'make install', $ZSH_HIGHLIGHT_REVISION + # would be set to '$Format:%H$' literally. That's an invalid value, and obtaining + # the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so: + unset ZSH_HIGHLIGHT_REVISION + 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?