#!/bin/bash # tin sheet list - List all registered sheets set -euo pipefail # Get tinsnip root and source libraries SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TINSNIP_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")" source "$TINSNIP_ROOT/lib/core.sh" source "$TINSNIP_ROOT/lib/registry.sh" # List all sheets list_all_sheets() { if ! check_tinsnip_station; then error_with_prefix "Sheet List" "Cannot list sheets without topsheet.station-prod" error_with_prefix "Sheet List" "Set up topsheet first: tin machine station prod " return 1 fi echo "Registered Sheets:" echo "==================" if ! list_sheets >/dev/null 2>&1; then echo "No sheets registered yet." echo echo "Register a sheet with: tin sheet create " return 0 fi # Show sheets with formatting local current_sheet current_sheet=$(get_sheet) list_sheets | while IFS='=' read -r sheet_name sheet_number; do if [[ "$sheet_name" == "$current_sheet" ]]; then echo " $sheet_name = $sheet_number (current)" else echo " $sheet_name = $sheet_number" fi done echo echo "Current sheet: $current_sheet" echo "Set sheet with: export TIN_SHEET=" } # Main execution list_all_sheets