john_oshea@xxxxxxxxxxxx wrote:
What's the best/cleanest/most "correct" way of checking for zsh features
in an .zshrc? I've started to use vcs_info as part of my prompt, which
works wonderfully in zsh's new enough to have that available, but gives
me "function definition file not found" on machines with older zsh
installations (that I'm unable to upgrade).
If the feature you're testing for is a function, it's quite easy to
define a function to look for the corresponding file.
function_exists () {
local -a files
# This expands occurrences of $1 anywhere in $fpath,
# removing files that don't exist.
files=(${^fpath}/$1(N))
# Success if any files exist.
(( ${#files} ))
}
You can now use this in tests:
if function_exists vcs_info; then
...
fi