#!/bin/bash
# set -euo pipefail: abort on errors, unset vars, and pipeline failures.
set -euo pipefail
# Path climbs one level (/../) because this optional module lives in a
# subdirectory; logging.sh is in modules/lib/ relative to modules/.
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"

# Install the Python ecosystem needed for neovim LSP support and scripting:
#   python        — base interpreter (3.x)
#   pyright       — Microsoft's Python LSP; used by nvim-lspconfig
#   python-pynvim — Python client library that lets neovim plugins call Python RPCs
#   python-pipx   — tool to install Python apps in isolated venvs (replaces pipsi)
# --noconfirm keeps the install non-interactive (required for unattended/answerfile
# deployment); --needed skips packages already present so re-runs are idempotent.
log "Installing Python tools..."
sudo pacman -Syu --noconfirm --needed python pyright python-pynvim python-pipx
log "Python tools installed."
