#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TMUX_SRC="$ROOT/scripts/tmux.conf"
TMUX_DST="$HOME/.tmux.conf"
SHELL_HELPERS="$ROOT/scripts/pi-shell-helpers.sh"
BASHRC="$HOME/.bashrc"
MARK_START="# >>> pi-config shell helpers >>>"
MARK_END="# <<< pi-config shell helpers <<<"

install -m 0644 "$TMUX_SRC" "$TMUX_DST"

python3 - <<'PY' "$BASHRC" "$SHELL_HELPERS" "$MARK_START" "$MARK_END"
from pathlib import Path
import sys
bashrc = Path(sys.argv[1])
helpers = Path(sys.argv[2])
mark_start = sys.argv[3]
mark_end = sys.argv[4]
text = bashrc.read_text() if bashrc.exists() else ""
block = f"{mark_start}\n[ -f {helpers} ] && . {helpers}\n{mark_end}\n"
if mark_start in text and mark_end in text:
    start = text.index(mark_start)
    end = text.index(mark_end, start) + len(mark_end)
    if end < len(text) and text[end:end+1] == "\n":
        end += 1
    text = text[:start] + block + text[end:]
else:
    if text and not text.endswith("\n"):
        text += "\n"
    text += "\n" + block
bashrc.write_text(text)
PY

echo "installed tmux config: $TMUX_DST"
echo "installed shell helper source block in: $BASHRC"
echo "reload shell or run: source $BASHRC"
