Why not just set a shebang like
$ cat foo.sh
#!/usr/bin/env zsh
echo $SHELL
Which most editors understand. $ file foo.sh
foo.sh: a /usr/bin/env zsh script text executable, ASCII text
$ vim --clean -c ':set filetype?' foo.sh
...
filetype=zsh
This ALSO ensures that the correct shell is invoked on your script, instead of your current or default shell. $ ./foo.sh
/usr/local/bin/zsh