#!/bin/bash set -e if [ ! -f "go.work" ]; then echo "go.work file not found in current directory" exit 1 fi echo "Found go.work file, parsing directories..." directories=() in_use_block=false while IFS= read -r line; do line=$(echo "$line" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') if [[ -z "$line" || "$line" =~ ^// ]]; then continue fi if [[ "$line" =~ ^use[[:space:]]*\( ]]; then in_use_block=true continue fi if [[ "$in_use_block" == true && "$line" =~ ^\) ]]; then in_use_block=false continue fi if [[ "$line" =~ ^use[[:space:]]+ ]]; then dir=$(echo "$line" | sed 's/^use[[:space:]]*//;s/"//g') directories+=("$dir") continue fi if [[ "$in_use_block" == true ]]; then dir=$(echo "$line" | sed 's/"//g') directories+=("$dir") fi done