#!/bin/bash
# Mock für pgrep - steuert Prozess-Erkennung
# pgrep -c: gibt Anzahl aus, Exit-Code 0 wenn >0, sonst 1

MOCK_DIR="/home/tim/Dokumente/Sourcen/Logseq-Installer/test/fixtures"
MOCK_STATE_FILE="${MOCK_DIR}/pgrep_state"

if [[ -f "${MOCK_STATE_FILE}" ]]; then
    # shellcheck source=/dev/null
    source "${MOCK_STATE_FILE}"
fi

# Default: kein Prozess läuft
PGREP_MATCH_COUNT="${PGREP_MATCH_COUNT:-0}"

# -c flag: count matches (prüft ob -c in den Flags enthalten ist)
if [[ "$*" == *"-c"* ]] || [[ "$*" == *"-ifcx"* ]] || [[ "$*" == *"-c "* ]]; then
    echo "${PGREP_MATCH_COUNT}"
    # Exit-Code wie echtes pgrep: 0 wenn Treffer, 1 wenn keine Treffer
    [[ "${PGREP_MATCH_COUNT}" -gt 0 ]]
    exit $?
fi

# Normaler Aufruf: PIDs zurückgeben
if [[ "${PGREP_MATCH_COUNT}" -gt 0 ]]; then
    for i in $(seq 1 "${PGREP_MATCH_COUNT}"); do
        echo $((1000 + i))
    done
    exit 0
fi

# Keine Treffer
exit 1