#!/usr/bin/env sh BASE_DIR="$(readlink -f "$(dirname "$0")/plugins")" # Fetch plugins cd "$BASE_DIR" || (echo "BUG: No '$BASE_DIR'" && exit 1) # Cleanup manifest sort -o "$BASE_DIR/manifest.txt" "$BASE_DIR/manifest.txt" sort -o "$BASE_DIR/blacklist.txt" "$BASE_DIR/blacklist.txt" ## Remove all plugins, which are on the blacklist # The same file is read and written to # shellcheck disable=SC2005 echo "$(comm -23 "$BASE_DIR/manifest.txt" "$BASE_DIR/blacklist.txt")" >"$BASE_DIR/manifest.txt" # Backup vim-plugins.nix mv "$BASE_DIR/default.nix" "$BASE_DIR/default.nix.bak" echo "{...} : {}" >"$BASE_DIR/default.nix" # Generate derivations for new plugins (this binary is provided by the dev-environment) update-vim-plugins cleanup "$BASE_DIR" # Restore vim-plugins.nix mv "$BASE_DIR/default.nix.bak" "$BASE_DIR/default.nix" # Update new plugins update-vim-plugins update "$BASE_DIR" --all