function check-git-config() { local name=$(git config user.name) local email=$(git config user.email) echo "Current git config:" echo " user.name: $name" echo " user.email: $email" # Return values for reuse echo "$name:$email"}function set-git-work() { local target_name="John Doe" local target_email="[email protected]" # Use check-git-config and capture its output local config_output=$(check-git-config) local current_config=(${(s/:/)config_output[-1]}) # Split last line by ':' local current_name=$current_config[1] local current_email=$current_config[2] if [[ "$current_name" != "$target_name" ]] || [[ "$current_email" != "$target_email" ]]; then git config user.name "$target_name" git config user.email "$target_email" echo "Git config updated: user.name='$target_name', user.email='$target_email'" fi}# Auto set git config for work directoriesfunction chpwd() { local current_dir="$PWD" if [[ "$current_dir" == "$HOME/code/work/company"* ]] && [[ -d ".git" ]]; then set-git-work fi}