Change summary
script/onboarding | 176 -------------------------------------------------
1 file changed, 176 deletions(-)
Detailed changes
@@ -1,176 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-BLUE='\033[0;34m'
-NC='\033[0m'
-
-CHANNEL="$1"
-COMMAND="$2"
-
-if [[ "$CHANNEL" != "stable" && "$CHANNEL" != "preview" && "$CHANNEL" != "nightly" && "$CHANNEL" != "dev" ]]; then
- echo -e "${RED}Error: Invalid channel '$CHANNEL'. Must be one of: stable, preview, nightly, dev${NC}"
- exit 1
-fi
-
-if [[ "$OSTYPE" == "darwin"* ]]; then
- DB_BASE_DIR="$HOME/Library/Application Support/Zed/db"
- DB_DIR="$DB_BASE_DIR/0-$CHANNEL"
- DB_BACKUP_DIR="$DB_BASE_DIR/0-$CHANNEL.onboarding_backup"
- case "$CHANNEL" in
- stable) APP_NAME="Zed" ;;
- preview) APP_NAME="Zed Preview" ;;
- nightly) APP_NAME="Zed Nightly" ;;
- dev) APP_NAME="Zed Dev" ;;
- esac
-elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
- DB_BASE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/zed/db"
- DB_DIR="$DB_BASE_DIR/0-$CHANNEL"
- DB_BACKUP_DIR="$DB_BASE_DIR/0-$CHANNEL.onboarding_backup"
- case "$CHANNEL" in
- stable) APP_NAME="zed" ;;
- preview) APP_NAME="zed-preview" ;;
- nightly) APP_NAME="zed-nightly" ;;
- dev) APP_NAME="zed-dev" ;;
- esac
-elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]] || [[ "$OSTYPE" == "win32" ]]; then
- LOCALAPPDATA_PATH="${LOCALAPPDATA:-$USERPROFILE/AppData/Local}"
- DB_BASE_DIR="$LOCALAPPDATA_PATH/Zed/db"
- DB_DIR="$DB_BASE_DIR/0-$CHANNEL"
- DB_BACKUP_DIR="$DB_BASE_DIR/0-$CHANNEL.onboarding_backup"
-
- case "$CHANNEL" in
- stable) APP_NAME="Zed" ;;
- preview) APP_NAME="Zed Preview" ;;
- nightly) APP_NAME="Zed Nightly" ;;
- dev) APP_NAME="Zed Dev" ;;
- esac
-else
- echo -e "${RED}Error: Unsupported OS type: $OSTYPE${NC}"
- exit 1
-fi
-
-reset_onboarding() {
- echo -e "${BLUE}=== Resetting $APP_NAME to First-Time User State ===${NC}"
- echo ""
-
- if [ ! -d "$DB_DIR" ]; then
- echo -e "${YELLOW}No database directory found at: $DB_DIR${NC}"
- echo "Zed will create a fresh database on next launch and show onboarding."
- exit 0
- fi
-
- if [ -d "$DB_BACKUP_DIR" ]; then
- echo -e "${RED}ERROR: Backup already exists at: $DB_BACKUP_DIR${NC}"
- echo ""
- echo "This suggests you've already run 'onboarding reset'."
- echo "To avoid losing your original database, this script won't overwrite the backup."
- echo ""
- echo "Options:"
- echo " 1. Run './script/onboarding $CHANNEL restore' to restore your original database"
- echo " 2. Manually remove the backup if you're sure: rm -rf $DB_BACKUP_DIR"
- exit 1
- fi
-
- echo -e "${YELLOW}Moving $DB_DIR to $DB_BACKUP_DIR${NC}"
- mv "$DB_DIR" "$DB_BACKUP_DIR"
-
- echo -e "${GREEN}✓ Backed up: $DB_BACKUP_DIR${NC}"
- echo ""
- echo -e "${GREEN}Success! Zed has been reset to first-time user state.${NC}"
- echo ""
- echo "Next steps:"
- echo " 1. Start Zed - you should see the onboarding flow"
- echo " 2. When done testing, run: ./script/onboarding $CHANNEL restore"
- echo ""
- echo -e "${YELLOW}Note: All your workspace data is safely preserved in the backup.${NC}"
-}
-
-restore_onboarding() {
- echo -e "${BLUE}=== Restoring Original $APP_NAME Database ===${NC}"
- echo ""
-
- if [ ! -d "$DB_BACKUP_DIR" ]; then
- echo -e "${RED}ERROR: No backup found at: $DB_BACKUP_DIR${NC}"
- echo ""
- echo "Run './script/onboarding $CHANNEL reset' first to create a backup."
- exit 1
- fi
-
- if [ -d "$DB_DIR" ]; then
- echo -e "${YELLOW}Removing current database directory: $DB_DIR${NC}"
- rm -rf "$DB_DIR"
- fi
-
- echo -e "${YELLOW}Restoring $DB_BACKUP_DIR to $DB_DIR${NC}"
- mv "$DB_BACKUP_DIR" "$DB_DIR"
-
- echo -e "${GREEN}✓ Restored: $DB_DIR${NC}"
- echo ""
- echo -e "${GREEN}Success! Your original database has been restored.${NC}"
-}
-
-show_status() {
- echo -e "${BLUE}=== Zed Onboarding Test Status ===${NC}"
- echo ""
-
- if [ -d "$DB_BACKUP_DIR" ]; then
- echo -e "${YELLOW}Status: TESTING MODE${NC}"
- echo " • Original database: $DB_BACKUP_DIR"
- echo " • Zed is using: $DB_DIR"
- echo " • Run './script/onboarding $CHANNEL restore' to return to normal"
- elif [ -d "$DB_DIR" ]; then
- echo -e "${GREEN}Status: NORMAL${NC}"
- echo " • Zed is using: $DB_DIR"
- echo " • Run './script/onboarding $CHANNEL reset' to test onboarding"
- else
- echo -e "${BLUE}Status: NO DATABASE${NC}"
- echo " • No Zed database directory exists yet"
- echo " • Zed will show onboarding on next launch"
- fi
-}
-
-case "${COMMAND:-}" in
- reset)
- reset_onboarding
- ;;
- restore)
- restore_onboarding
- ;;
- status)
- show_status
- ;;
- *)
- echo -e "${BLUE}Zed Onboarding Test Script${NC}"
- echo ""
- echo "Usage: $(basename $0) [channel] <command>"
- echo ""
- echo "Commands:"
- echo " reset - Back up current database and reset to show onboarding"
- echo " restore - Restore the original database after testing"
- echo " status - Show current testing status"
- echo ""
- echo "Channels:"
- echo " stable, preview, nightly, dev"
- echo ""
- echo "Working with channel: $CHANNEL"
- echo "Database directory: $DB_DIR"
- echo ""
- echo "Examples:"
- echo " ./script/onboarding nightly reset # Reset nightly"
- echo " ./script/onboarding stable reset # Reset stable"
- echo " ./script/onboarding preview restore # Restore preview"
- echo ""
- echo "Workflow:"
- echo " 1. Close Zed"
- echo " 2. ./script/onboarding nightly reset"
- echo " 3. Open Zed"
- echo " 4. Test onboarding"
- echo " 5. Close Zed"
- echo " 6. ./script/onboarding nightly restore"
- exit 1
- ;;
-esac