#!/bin/bash
set -euo pipefail

ZSHRC="${ZDOTDIR:-$HOME}/.zshrc"
PKG_ZOPTIONS_LINE='[[ -f /usr/share/omarchy-zsh/shell/zoptions ]] && source /usr/share/omarchy-zsh/shell/zoptions'

if [[ ! -f $ZSHRC ]]; then
  echo "No ~/.zshrc found at $ZSHRC."
  exit 0
fi

if ! grep -qE '^# >>> omarchy-zsh dev' "$ZSHRC"; then
  echo "No dev block found in $ZSHRC."
  exit 0
fi

has_packaged_zoptions=$(awk -v pkg_line="$PKG_ZOPTIONS_LINE" '
  /^# >>> omarchy-zsh dev/ { skip=1; next }
  skip && /^# <<< omarchy-zsh dev/ { skip=0; next }
  !skip && $0 == pkg_line { found=1 }
  END { print found ? 1 : 0 }
' "$ZSHRC")

awk -v pkg_line="$PKG_ZOPTIONS_LINE" -v has_packaged_zoptions="$has_packaged_zoptions" '
  /^# >>> omarchy-zsh dev/ {
    skip=1
    if (!has_packaged_zoptions) print pkg_line
    next
  }
  skip && /^# <<< omarchy-zsh dev/ { skip=0; next }
  !skip { print }
' "$ZSHRC" > "$ZSHRC.tmp"
mv "$ZSHRC.tmp" "$ZSHRC"

echo "Removed dev block from $ZSHRC"
echo "Open a new zsh shell to fall back to the packaged version."
