#!/usr/bin/env bash

set -o errexit
set -o nounset
set -o pipefail

GIT_MERGE_CONFLICT_START='^<{7} .+$'
GIT_MERGE_CONFLICT_MIDST='^={7}$'
GIT_MERGE_CONFLICT_END='^>{7} .+$'

if [[ "$*" == "--version" ]]; then
  echo "1.0.0"
  exit 0
fi

declare -i errors=0

for file in "$@"; do
  if grep -q -E "${GIT_MERGE_CONFLICT_START}" "$file" &&
    grep -q -E "${GIT_MERGE_CONFLICT_MIDST}" "$file" &&
    grep -q -E "${GIT_MERGE_CONFLICT_END}" "$file"; then
    echo "Found Git merge conflict markers: \"$file\""
    errors=$((errors + 1))
  fi
done

if [[ $errors -gt 0 ]]; then
  exit 1
else
  echo "No merge conflicts found in $*"
fi