#!/bin/bash
# pe-commit absolute file path
PRE_COMMIT_BIN="$(which pre-commit)"

# Check whether pre-commit is installed and executable
if [[ ! -x "${PRE_COMMIT_BIN}" ]]; then
  printf  "[$(tput setaf 1)$(tput bold)error$(tput sgr0)] %s\n" \
          "pre-commit is not installed. Please use 'pip install pre-commit' to install."
  exit 1
fi

# Updating pre-commit to ensure hooks in .pre-commit-config.yaml are found
"${PRE_COMMIT_BIN}" autoupdate

if ! "${PRE_COMMIT_BIN}" run --all-files; then
  printf  "[$(tput setaf 1)$(tput bold)error$(tput sgr0)] %s\n" \
          "Linting failed please review above output and fix issues before committing."
  exit 1
fi

exit 0
