#!/bin/bash set -e echo "๐Ÿ”จ Building Storybook LSP Extension..." # Get the directory where this script lives SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" REPO_ROOT="$SCRIPT_DIR/.." echo "๐Ÿ“ Working in: $SCRIPT_DIR" # Build the LSP server echo "" echo "1๏ธโƒฃ Building LSP server..." cd "$REPO_ROOT" cargo build --release --bin storybook-lsp # Create bin directory in extension echo "" echo "2๏ธโƒฃ Copying binary to extension..." mkdir -p "$SCRIPT_DIR/bin" # Detect platform and copy the appropriate binary if [[ "$OSTYPE" == "darwin"* ]]; then cp "$REPO_ROOT/target/release/storybook-lsp" "$SCRIPT_DIR/bin/storybook-lsp" echo " โœ“ Copied macOS binary" elif [[ "$OSTYPE" == "linux-gnu"* ]]; then cp "$REPO_ROOT/target/release/storybook-lsp" "$SCRIPT_DIR/bin/storybook-lsp" echo " โœ“ Copied Linux binary" elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then cp "$REPO_ROOT/target/release/storybook-lsp.exe" "$SCRIPT_DIR/bin/storybook-lsp.exe" echo " โœ“ Copied Windows binary" else echo " โš ๏ธ Unknown platform: $OSTYPE" exit 1 fi # Make it executable chmod +x "$SCRIPT_DIR/bin/storybook-lsp"* 2>/dev/null || true echo "" echo "โœ… Build complete!" echo "" echo "๐Ÿ“ฆ Extension is ready at: $SCRIPT_DIR" echo "๐Ÿš€ To install in Zed:" echo " 1. Open Zed" echo " 2. Run: zed: install dev extension" echo " 3. Select: $SCRIPT_DIR" echo "" echo "๐Ÿงช To test:" echo " 1. Open a .sb file in Zed" echo " 2. The LSP should activate automatically" echo " 3. Try hovering over symbols to see rich information!" echo ""