Simplify project lanucher display format

This commit is contained in:
Yan Lin 2025-07-27 21:59:50 +02:00
parent 6d7fc7184f
commit 1efe49e659

View file

@ -9,7 +9,7 @@ PROJECTS_JSON="$CONFIG_DIR/projects.json"
TEMPLATES_DIR="$(dirname "$0")/templates" TEMPLATES_DIR="$(dirname "$0")/templates"
if [ -z "$PROJECT_NAME" ]; then if [ -z "$PROJECT_NAME" ]; then
printf "📋 \033[1;36mAvailable Projects:\033[0m\n\n" printf "\033[1;36mAvailable Projects:\033[0m\n\n"
if [ -f "$PROJECTS_JSON" ]; then if [ -f "$PROJECTS_JSON" ]; then
# Check if jq is available and JSON is valid # Check if jq is available and JSON is valid
@ -18,20 +18,12 @@ if [ -z "$PROJECT_NAME" ]; then
exit 1 exit 1
fi fi
# Parse and display projects with descriptions and icons # Parse and display projects with descriptions
jq -r '.projects | to_entries[] | "\(.key)|\(.value.description)|\(.value.template)"' "$PROJECTS_JSON" 2>/dev/null | \ jq -r '.projects | to_entries[] | "\(.key)|\(.value.description)|\(.value.template)"' "$PROJECTS_JSON" 2>/dev/null | \
while IFS='|' read -r name desc template; do while IFS='|' read -r name desc template; do
# Assign icons based on template type
case "$template" in
"content") icon="🚀" ;;
"research") icon="🔬" ;;
"basic") icon="⚙️" ;;
*) icon="📁" ;;
esac
# Format with consistent spacing # Format with consistent spacing
printf " %s \033[1;32m%-12s\033[0m %-35s \033[2m[%s]\033[0m\n" \ printf " \033[1;32m%-12s\033[0m \033[2m[%-8s]\033[0m %s\n" \
"$icon" "$name" "$desc" "$template" "$name" "$template" "$desc"
done done
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then