From 6bb89d3aa3410c802ac194538c0a263faf00af28 Mon Sep 17 00:00:00 2001 From: Devan Non Date: Fri, 11 Nov 2022 07:23:45 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20forge=20fmt=20and=20forge=20snap?= =?UTF-8?q?shot=20pre-commit=20hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++++++ hooks/pre-commit | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100755 hooks/pre-commit diff --git a/README.md b/README.md index 9967bde..a9d91e8 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,11 @@ forge test ```sh forge snapshot ``` + +### Pre-commit Hook + +We recommend installing the accompanying pre-commit hook to automatically run `forge fmt` and `forge snapshot` on each commit: + +```bash +cp hooks/pre-commit .git/hooks/pre-commit +``` diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100755 index 0000000..845a44d --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,24 @@ +#!/bin/bash + +BWHITE='\033[1;37m' +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' + +printf "Running ${BWHITE}forge fmt${NC}... \n" +if forge fmt &>/dev/null; then + printf "${GREEN}Formatted!${NC} \n" +else + printf "${RED}error running ${BWHITE}forge fmt${NC} \n" + exit 1 +fi + +printf "Running ${BWHITE}forge snapshot${NC}... \n" +if forge snapshot &>/dev/null; then + printf "${GREEN}Snapshotted!${NC} \n" +else + printf "${RED}error running ${BWHITE}forge snapshot${NC} \n" + exit 1 +fi + +git add .