sw-fe/utils/listfiles.sh

56 lines
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
# Nombre de parties voulues
PARTS=1
# Fichier temporaire qui contient tout le code
TMPFILE=$(mktemp)
cleanup() { rm -f "$TMPFILE" "${TMPFILE}"_part_* 2>/dev/null || true; }
trap cleanup EXIT
# 1) Construire le gros fichier avec tous les .js/.jsx/.css
find src -type f \( -name "*.js" -o -name "*.jsx" -o -name "*.css" \) ! -name "maplibre.css" -print0 |
while IFS= read -r -d '' f; do
printf '================== FILE: %s ==================\n' "$f" >> "$TMPFILE"
cat "$f" >> "$TMPFILE"
printf '\n' >> "$TMPFILE"
done
# 2) Découper en exactement PARTS morceaux (ou moins si très petit)
# -n l/3 = découpe en 3 blocs de lignes à peu près égaux
split -n l/"$PARTS" -d --additional-suffix=".txt" "$TMPFILE" "${TMPFILE}_part_"
# 3) Envoyer chaque morceau dans le presse-papier, ENTER pour le suivant
parts=( "${TMPFILE}_part_"*.txt )
total=${#parts[@]}
if [ "$total" -eq 0 ]; then
echo "Aucun contenu trouvé."
exit 0
fi
echo "📦 Total: $total partie(s) à envoyer dans ChatGPT."
idx=1
for p in "${parts[@]}"; do
# On ajoute une bannière claire DEBUT/FIN pour chaque partie
{
echo "===== SOCIOWIRE FRONTEND PART $idx / $total (BEGIN) ====="
cat "$p"
echo
echo "===== END OF SOCIOWIRE FRONTEND PART $idx / $total ====="
} | termux-clipboard-set
echo "➡️ Partie $idx / $total copiée dans le presse-papier."
if [ "$idx" -lt "$total" ]; then
echo "Colle cette partie dans ChatGPT, envoie le message,"
echo "puis reviens ici et appuie sur ENTER pour la suivante (ou 'q' + ENTER pour quitter)…"
read -r ans || true
[ "$ans" = "q" ] || [ "$ans" = "Q" ] && break
fi
idx=$((idx+1))
done
echo "✅ Terminé."