···4141 fi
4242 }
43434444- # Check if arguments look like flags or a hostname
4545- has_hostname=false
4646- for arg in "$@"; do
4747- case "$arg" in
4848- -*) ;; # This is a flag
4949- *) has_hostname=true; break ;; # Found a non-flag argument
5050- esac
5151- done
4444+ # Check if we should do auto-sync
4545+ # Auto-sync if no args or only verbose/config flags
4646+ auto_sync=false
4747+ if [ $# -eq 0 ]; then
4848+ auto_sync=true
4949+ else
5050+ # Check if all args are sync-compatible flags
5151+ all_sync_flags=true
5252+ for arg in "$@"; do
5353+ case "$arg" in
5454+ -v|-vv|-vvv|--verbose) ;; # Verbose flags
5555+ --config|--config=*) ;; # Config flags
5656+ -*) all_sync_flags=false; break ;; # Unknown flag, don't auto-sync
5757+ *) all_sync_flags=false; break ;; # Non-flag argument, don't auto-sync
5858+ esac
5959+ done
6060+ if [ "$all_sync_flags" = true ]; then
6161+ auto_sync=true
6262+ fi
6363+ fi
52645353- # If only flags provided (or no args), do a sync with green host
5454- if [ "$has_hostname" = "false" ]; then
6565+ if [ "$auto_sync" = true ]; then
5566 host=$(find_green_host)
5667 echo "Syncing with $host..." >&2
5768