aboutsummaryrefslogtreecommitdiff
path: root/bootstrap-nvim-python.sh
blob: 4df92268bb3b3832823d162cb80ca04973662cb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
set -eu

case "$(uname)" in
  FreeBSD)
    echo "FreeBSD detected – using system Python + pkg pynvim"
    exit 1
    ;;
  Darwin)
    VENV="$HOME/.local/venv/nvim"
    PYTHON="${PYTHON:-python3}"

    # Python vorhanden?
    if ! command -v "$PYTHON" >/dev/null 2>&1; then
      echo "ERROR: python3 not found"
      exit 1
    fi

    # venv anlegen (falls nicht vorhanden)
    if [ ! -x "$VENV/bin/python" ]; then
      echo "Creating Neovim Python venv at $VENV"
      "$PYTHON" -m venv "$VENV"
    fi

    # pip sicherstellen
    "$VENV/bin/python" -m ensurepip --upgrade >/dev/null 2>&1 || true

    # pynvim installieren / aktualisieren
    "$VENV/bin/python" -m pip install --upgrade --prefer-binary pip pynvim

    echo "Neovim Python provider ready:"
    "$VENV/bin/python" -c 'import pynvim; print("pynvim:", pynvim.__version__)'
    ;;
esac