Anybody know if it’s possible to run a formater before diffing? For example running “go fmt” or “prettier”?
Throw this script into $PATH (let's say into ~/.local/bin/diff-fmt):
#!/bin/bash
exec delta <(gofmt "$1") <(gofmt "$2")
here I'm using delta as the difftool: https://github.com/dandavison/deltaand then, once:
$ git config --global interactive.diffFilter diff-fmtSince diff is used to make patches it could ruin things I imagine..
Another use case is when you encounter that giga god-commit “added formater” which touched all lines in all files.
If you take this even further, you can tailor to anyones style taste, formatting on check out instead of check in. That leaves the stored code as a serialization format the compiler understands. Viewed code is in whatever format the programmer likes.