diff options
Diffstat (limited to 'bootstrap-nvim.sh')
| -rwxr-xr-x | bootstrap-nvim.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bootstrap-nvim.sh b/bootstrap-nvim.sh index 0a81973..de1adc9 100755 --- a/bootstrap-nvim.sh +++ b/bootstrap-nvim.sh | |||
| @@ -77,6 +77,38 @@ install_npm() { | |||
| 77 | npm install -g "$package" | 77 | npm install -g "$package" |
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | install_pip() { | ||
| 81 | python="$1" | ||
| 82 | package="$2" | ||
| 83 | |||
| 84 | if "$python" -c "import $package" >/dev/null 2>&1; then | ||
| 85 | printf "✓ %-32s vorhanden\n" "$package" | ||
| 86 | return | ||
| 87 | fi | ||
| 88 | |||
| 89 | printf "→ Installiere Python-Paket %s\n" "$package" | ||
| 90 | "$python" -m pip install "$package" | ||
| 91 | } | ||
| 92 | |||
| 93 | setup_python_provider() { | ||
| 94 | VENV="$HOME/.local/venv/nvim" | ||
| 95 | PYTHON="${PYTHON:-python3}" | ||
| 96 | |||
| 97 | if ! have "$PYTHON"; then | ||
| 98 | echo "Python wurde nicht gefunden." | ||
| 99 | exit 1 | ||
| 100 | fi | ||
| 101 | |||
| 102 | if [ ! -x "$VENV/bin/python" ]; then | ||
| 103 | printf "→ Erzeuge Python-Venv %s\n" "$VENV" | ||
| 104 | |||
| 105 | mkdir -p "$(dirname "$VENV")" | ||
| 106 | "$PYTHON" -m venv "$VENV" | ||
| 107 | fi | ||
| 108 | |||
| 109 | install_pip "$VENV/bin/python" pynvim | ||
| 110 | } | ||
| 111 | |||
| 80 | # === Voraussetzungen === | 112 | # === Voraussetzungen === |
| 81 | 113 | ||
| 82 | check_prerequisites | 114 | check_prerequisites |
| @@ -90,6 +122,7 @@ install_pkg python3 python | |||
| 90 | # === Provider === | 122 | # === Provider === |
| 91 | 123 | ||
| 92 | install_npm neovim-node-host neovim | 124 | install_npm neovim-node-host neovim |
| 125 | setup_python_provider | ||
| 93 | 126 | ||
| 94 | # === Formatter === | 127 | # === Formatter === |
| 95 | 128 | ||
