#!/usr/bin/env bash
set -euo pipefail

package="${1:-}"
if [ -z "$package" ] || [ ! -f "$package" ]; then
  echo "ClosedBit Linux Runtime"
  echo "Usage: closedbit-runtime-linux package.cba"
  exit 1
fi

echo "ClosedBit Runtime Package"
echo "Linux beta runtime starting..."
echo "Package: $(basename "$package")"
echo "----------------------------------------"

payload_started=0
while IFS= read -r line; do
  if [ "$line" = "__CBP_PAYLOAD__" ]; then
    payload_started=1
    continue
  fi
  [ "$payload_started" -eq 1 ] || continue
  trimmed="${line#"${line%%[![:space:]]*}"}"
  case "$trimmed" in
    println*\(\"*\"\)*|console.println*\(\"*\"\)*)
      text="${trimmed#*(\"}"
      text="${text%%\"*}"
      printf '%s\n' "$text"
      ;;
    print*\(\"*\"\)*|console.print*\(\"*\"\)*)
      text="${trimmed#*(\"}"
      text="${text%%\"*}"
      printf '%s' "$text"
      ;;
    save\ *|return\ *)
      value="${trimmed#save }"
      value="${value#return }"
      value="${value%;}"
      echo "Saved: $value"
      ;;
  esac
done < "$package"

echo "----------------------------------------"
echo "ClosedBit Linux package finished."
