summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/util/etc/pre-commit.sh
blob: 5dd2ba3d5f53b92cdcbd2a967d264e64a5428fa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

# hide output
set -e

# Update lints
cargo dev update_lints
git add clippy_lints/src/lib.rs
git add clippy_lints/src/lib.*.rs

# Formatting:
#     Git will not automatically add the formatted code to the staged changes once
#     fmt was executed. This collects all staged files rs files that are currently staged.
#     They will later be added back.
#
#     This was proudly stolen and adjusted from here:
#     https://medium.com/@harshitbangar/automatic-code-formatting-with-git-66c3c5c26798
files=$( (git diff --cached --name-only --diff-filter=ACMR | grep -Ei "\.rs$") || true)
if [ ! -z "${files}" ]; then
    cargo dev fmt
    git add $(echo "$files" | paste -s -d " " -)
fi