Grin uses rustfmt to maintain consistent formatting.
Note: we assume Rust has been installed via Rustup. See build docs for more info.
rustfmt itself requires the nightly toolchain -
rustup update
rustup install nightly
rustup run nightly cargo install rustfmt-nightly
There is a basic git pre-commit hook in the repo.
The pre-commit hook will not prevent commits if style issues are present but it will indicate any files that need formatting.
To enable this, create a symlink in .git/hooks
(note the relative path) -
cd .git/hooks
ln -s -f ../../.hooks/pre-commit
To run rustfmt against a single file in grin -
cargo +nightly fmt -- ./core/src/lib.rs