Is there a command or environment variable that I can test for in my ~/.zshrc that that would differentiate between when I run source ~/.zshrc to update my configuration and when the shell reads ~/.zshrc as it's initialized?
So far my solution is to set a variable at the end of the ~/.zshrc and test for that variable on subsequent exectuion, but I'm curious if there's a cleaner way to directly get this information from the system or envrionment rather than hacking it together in a way that feels so fragile....
# somewhere in ~/.zshrc
if [[ -n $CONSOLE_ALREADY_RUNNING ]]; then
echo "we've alredy loaded ~/.zshrc"
echo "so you must be sourcing it"
fi
# many more lines of ~/.zshrc commands
# last line of ~/.zshrc
export CONSOLE_ALREADY_RUNNING=1
Seems like there should be some cleaner way to test if I'm just reloading via source /.zshrc or if .zshrc is being executed for a new instance of zsh that was just loaded into memory.