From 3db8b008987fb215d6b9dd188f65e1ef47dec40b Mon Sep 17 00:00:00 2001 From: DavHau Date: Tue, 13 May 2025 17:33:57 +0700 Subject: [PATCH] pre-commit: don't format untracked files --- scripts/pre-commit | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/pre-commit b/scripts/pre-commit index 40df8ed86..ff8172afc 100755 --- a/scripts/pre-commit +++ b/scripts/pre-commit @@ -15,7 +15,19 @@ unstash() { } git stash push --quiet --keep-index --message "pre-commit" trap unstash EXIT -treefmt + +# always ignore untracked files +mapfile -t untracked < <(git ls-files --others --exclude-standard) +if [[ ${#untracked[@]} -gt 0 ]]; then + for item in "${untracked[@]}"; do + exclude_args+=("--excludes" "$item") + done + treefmt=(treefmt "${exclude_args[@]}") +else + treefmt=(treefmt) +fi +"${treefmt[@]}" + { changed=$(git diff --name-only --exit-code); status=$?;