#!/opt/homebrew/bin//bash

declare -A visited

function find_parents() {
    local file=$1

    if [[ ! -f $file ]]; then
        echo "File not found: $file"
        return
    fi

    while read -r line; do
        if [[ -n $line ]]; then
            local parent_file="../${line}.txt"
            if [[ -z ${visited[$parent_file]} ]]; then
                visited["$parent_file"]=1
                grep 'setRequiresParents()' ../"${line}".txt || echo 'setRequiresParents()' >> ../"${line}".txt;
#                echo "addParent(\"triumph:${line}\")"
                find_parents "$parent_file"
            fi
        fi
    done < <(grep 'addParent' "$file" |grep -v root| cut -f2 -d'"' | cut -f2 -d':')

}

if [[ $# -eq 0 ]]; then
    echo "Usage: $0 <filename>"
    exit 1
fi

find_parents "$1"

