#!/usr/bin/env bash set -e STAGED=$( git --no-pager diff --name-only --no-color --cached --diff-filter=d | # Remove quotations used to surrounding filenames with special characters. sed -e "s/^\"//" -e "s/\"$//g" ) MIX_TARGETS=() WEB_TARGETS=() while IFS= read -r FILENAME do if [[ "$FILENAME" =~ .*\.exs?$ ]]; then MIX_TARGETS+=("${FILENAME}") elif [[ "$FILENAME" =~ .*\.jsx?$ ]] || [[ "$FILENAME" =~ .*\.tsx?$ ]]; then WEB_TARGETS+=("${FILENAME}") fi done <<< "$STAGED" if (( ${#MIX_TARGETS[@]} )); then mix format "${MIX_TARGETS[@]}" git add "${MIX_TARGETS[@]}" fi if (( ${#WEB_TARGETS[@]} )); then prettier --write "${WEB_TARGETS[@]}" git add "${WEB_TARGETS[@]}" fi