BREAKING CHANGES: - Relationship syntax now requires blocks for all participants - Removed self/other perspective blocks from relationships - Replaced 'guard' keyword with 'if' for behavior tree decorators Language Features: - Add tree-sitter grammar with improved if/condition disambiguation - Add comprehensive tutorial and reference documentation - Add SBIR v0.2.0 binary format specification - Add resource linking system for behaviors and schedules - Add year-long schedule patterns (day, season, recurrence) - Add behavior tree enhancements (named nodes, decorators) Documentation: - Complete tutorial series (9 chapters) with baker family examples - Complete reference documentation for all language features - SBIR v0.2.0 specification with binary format details - Added locations and institutions documentation Examples: - Convert all examples to baker family scenario - Add comprehensive working examples Tooling: - Zed extension with LSP integration - Tree-sitter grammar for syntax highlighting - Build scripts and development tools Version Updates: - Main package: 0.1.0 → 0.2.0 - Tree-sitter grammar: 0.1.0 → 0.2.0 - Zed extension: 0.1.0 → 0.2.0 - Storybook editor: 0.1.0 → 0.2.0
55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/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 ""
|