Jelajahi Sumber

Fix session-start hook execution in plugin context

Fixes #8

- Use /bin/zsh fallback when BASH_SOURCE is unbound
- Add || true to handle empty grep results gracefully

Co-authored-by: ryancnelson <ryancnelson@users.noreply.github.com>
Ryan Nelson 11 bulan lalu
induk
melakukan
b6f6ce12a6
1 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. 2 2
      hooks/session-start.sh

+ 2 - 2
hooks/session-start.sh

@@ -7,7 +7,7 @@ set -euo pipefail
 export SUPERPOWERS_SKILLS_ROOT="${HOME}/.config/superpowers/skills"
 
 # Run skills initialization script (handles clone/fetch/auto-update)
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
 PLUGIN_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
 init_output=$("${PLUGIN_ROOT}/lib/initialize-skills.sh" 2>&1 || echo "")
 
@@ -15,7 +15,7 @@ init_output=$("${PLUGIN_ROOT}/lib/initialize-skills.sh" 2>&1 || echo "")
 skills_updated=$(echo "$init_output" | grep "SKILLS_UPDATED=true" || echo "")
 skills_behind=$(echo "$init_output" | grep "SKILLS_BEHIND=true" || echo "")
 # Remove status flags from display output
-init_output=$(echo "$init_output" | grep -v "SKILLS_UPDATED=true" | grep -v "SKILLS_BEHIND=true")
+init_output=$(echo "$init_output" | grep -v "SKILLS_UPDATED=true" | grep -v "SKILLS_BEHIND=true" || true)
 
 # Run find-skills to show all available skills
 find_skills_output=$("${SUPERPOWERS_SKILLS_ROOT}/skills/using-skills/find-skills" 2>&1 || echo "Error running find-skills")