#!/bin/bash

# Nom du fichier de sortie
OUTPUT="DICTIONNAIRE_FLOWER.md"

# En-tête du fichier Markdown
echo "# 📖 Dictionnaire du Code Source Flower.jl" > "$OUTPUT"
echo "Date de l'analyse : $(date)" >> "$OUTPUT"
echo "---" >> "$OUTPUT"

# Initialisation des compteurs
total_files=0
total_funcs=0

# Trouver tous les fichiers .jl, les trier et boucler dessus
find . -type f -name "*.jl" | sort | while read -r file; do
    
    # Compter le fichier
    ((total_files++))
    
    # Extraire les fonctions (lignes commençant par "function", ignorant l'indentation)
    # On exclut les lignes qui commencent par un commentaire #
    functions=$(grep -nE "^\s*function\s+" "$file" | grep -v "^\s*#")
    
    # S'il y a des fonctions dans ce fichier
    if [ ! -z "$functions" ]; then
        # Compter le nombre de fonctions dans ce fichier
        count=$(echo "$functions" | wc -l)
        total_funcs=$((total_funcs + count))
        
        # Écriture dans le fichier de sortie
        echo "" >> "$OUTPUT"
        echo "## 📁 Fichier : \`$file\` ($count fonctions)" >> "$OUTPUT"
        echo "\`\`\`julia" >> "$OUTPUT"
        
        # Nettoyage de l'affichage : on garde le numéro de ligne pour se repérer
        echo "$functions" | sed -E 's/([0-9]+):[ \t]*(.*)/\1: \2/' >> "$OUTPUT"
        
        echo "\`\`\`" >> "$OUTPUT"
    fi
done

# Résumé à la fin du fichier
echo "" >> "$OUTPUT"
echo "---" >> "$OUTPUT"
echo "## 📊 Résumé Global" >> "$OUTPUT"
echo "- **Total Fichiers analysés** : $total_files" >> "$OUTPUT"
# Note: le compteur total_funcs dans la sous-boucle while ne remonte pas toujours 
# dans le shell père selon l'implémentation, on fait un grep global pour le total exact.
real_total=$(grep -rE "^\s*function\s+" . | grep -v "^\s*#" | wc -l)
echo "- **Total Fonctions détectées** : $real_total" >> "$OUTPUT"

echo "✅ Analyse terminée. Résultat enregistré dans : $OUTPUT"