diff --git a/scripts/osvauco-opax-boot.sh b/scripts/osvauco-opax-boot.sh index 9e3d68f..3952162 100644 --- a/scripts/osvauco-opax-boot.sh +++ b/scripts/osvauco-opax-boot.sh @@ -2,7 +2,7 @@ # ============================================================================= # osvauco-opax-boot.sh — OSVauco OPAX session-starter # Bruk: source ~/OSVauco/scripts/osvauco-opax-boot.sh -# NB: Må sources (ikke bash) for PROMPT_COMMAND + opax-logg-slutt. +# NB: Må sources (ikke bash) for PROMPT_COMMAND + opax_logg_slutt. # Standalone avslutt: bash ~/OSVauco/scripts/opax-logg-slutt.sh # ============================================================================= @@ -49,7 +49,7 @@ fi # Last aliases inn i nåværende shell uansett alias opax='source ~/OSVauco/scripts/osvauco-opax-boot.sh' -alias opax-logg-slutt='bash ~/OSVauco/scripts/opax-logg-slutt.sh' +alias opax-logg-slutt='opax_logg_slutt' # peker på intern funksjon (bindestrek ugyldig i bash-funksjonsnavn) alias mirror-sync='bash ~/OSVauco/scripts/sync-gdrive-mirror.sh' alias cost-audit='bash ~/OSVauco/scripts/cost-audit.sh' alias roadmap='cat ~/OSVauco/docs/VAUCO_OS_ROADMAP.md' @@ -57,40 +57,27 @@ alias session-log='cat ~/OSVauco/docs/OSVAUCO_OPAX_SESSION_LOG.md' # ============================================================================= # PROMPT_COMMAND — logger hver terminal-kommando med tidsstempel til session-log -# Aktiv så lenge dette shellet lever (ikke persistent — starter på nytt ved ny session) # ============================================================================= export OSVAUCO_SESSION_LOG="$SESSION_LOG" export OSVAUCO_SESSION_ID="$SESSION_ID" _opax_last_cmd='' - -# trap DEBUG fanger kommandoen FØR den kjøres trap '_opax_last_cmd=$(history 1 | sed "s/^[ ]*[0-9]*[ ]*//")' DEBUG -# PROMPT_COMMAND kjøres etter hver kommando (ved neste prompt) _opax_log_cmd() { local exit_code=$? local cmd="$_opax_last_cmd" - # Filtrer ut interne/støy-kommandoer [[ -z "$cmd" ]] && return [[ "$cmd" == _opax_* ]] && return [[ "$cmd" == "trap "* ]] && return - local ts ts=$(date '+%H:%M:%S') local status_marker - if [[ $exit_code -eq 0 ]]; then - status_marker="✔" - else - status_marker="✘[$exit_code]" - fi - - # Append til session-log (stille) + [[ $exit_code -eq 0 ]] && status_marker="✔" || status_marker="✘[$exit_code]" printf ' %s %s %s\n' "$ts" "$status_marker" "$cmd" >> "${OSVAUCO_SESSION_LOG}" 2>/dev/null || true _opax_last_cmd='' } -# Legg til i PROMPT_COMMAND (idempotent) if [[ "${PROMPT_COMMAND}" != *"_opax_log_cmd"* ]]; then PROMPT_COMMAND="_opax_log_cmd${PROMPT_COMMAND:+; $PROMPT_COMMAND}" fi @@ -166,7 +153,6 @@ else fi printf " $OK Terminal-logging ${DIM}PROMPT_COMMAND aktiv — loggfører alle kommandoer${NC}\n" - printf "\n" @@ -304,9 +290,10 @@ printf "${DIM} ---------------------------------------------------${NC}\n\n" # ============================================================================= # AVSLUTT-FUNKSJON +# Navn: opax_logg_slutt (understrek, ikke bindestrek — POSIX-kompatibelt) +# Bruk: opax-logg-slutt (via alias over) # ============================================================================= -opax-logg-slutt() { - # Deaktiver PROMPT_COMMAND-logging for denne sesjonen +opax_logg_slutt() { PROMPT_COMMAND="${PROMPT_COMMAND//_opax_log_cmd; /}" PROMPT_COMMAND="${PROMPT_COMMAND//_opax_log_cmd/}" @@ -326,7 +313,9 @@ opax-logg-slutt() { EOF printf " ${GREEN}[OK]${NC} Logg oppdatert → docs/OSVAUCO_OPAX_SESSION_LOG.md\n\n" } -export -f opax-logg-slutt 2>/dev/null || true +export -f opax_logg_slutt 2>/dev/null || true +# Alias så brukeren skriver opax-logg-slutt som før +alias opax-logg-slutt='opax_logg_slutt' printf " ${DIM}Avslutt session → ${NC}${BOLD}opax-logg-slutt${NC}\n\n"