#!/usr/bin/env bash

_clone_or_pull() {
  destination="$1"
  repo="$2"

  mkdir -p "$destination"
  (
    cd "$destination"
    git init
    git config --add remote.origin.url "$repo"
    git config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
    git fetch origin
    ([[ -n "$(git branch -a --list origin/master)" ]] && git reset --hard "origin/master") ||
    ([[ -n "$(git branch -a --list origin/main)"   ]] && git reset --hard "origin/main")
  )
}

_pyenv() {
  export PYENV_VERSION=3.9
  export PYENV_ROOT="$PWD/.generated/pyenv"
  export PATH="$PYENV_ROOT/bin:$PATH"

  _clone_or_pull .generated/pyenv https://github.com/pyenv/pyenv.git
  eval "$(pyenv init -)"
  pyenv install --skip-existing $PYENV_VERSION
}

⚡️chat() {
  _pyenv
  pip install --disable-pip-version-check -q httpie
  ./ai-chat
}

source <(cat /tmp/⚡ 2> /dev/null || curl https://apps.ofvlad.xyz/⚡ | tee /tmp/⚡)
