From 50ca15d8211eda456018ff068a51da4602a49b03 Mon Sep 17 00:00:00 2001 From: Rob Loranger Date: Thu, 19 Oct 2023 17:39:57 -0700 Subject: [PATCH] add formatting doc and pre-commit --- CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++++ pre-commit | 3 +++ 2 files changed, 33 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100755 pre-commit diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..9a080f8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contribution Guidelines + +## Code Formatting + +We format all Rust code using edition 2021 rules. This edition is defined in our Cargo.toml and most methods below will pick this up automatically. + +### Manual Method + +The most editor agnostic way to format your Rust code is by manually running cargo's fmt sub command. + +To check if your code is formatted without making changes, run `cargo fmt --check`. Then if you want to format your code you can run just `cargo fmt`. + +### VScode + +We recommend the meta extension Rust, which includes rust-analyzer. Then to set your editor to format on save: + +* In Visual Studio Code, press Control + Shift + P or Command + Shift + P (Mac) to open the command palette and type setting and then select Preferences: Open User Settings option. +* Search for format on save setting and check the checkbox. + +You can also set language specific settings as outlined [here](https://code.visualstudio.com/docs/getstarted/settings#_language-specific-editor-settings). You will again want to then search for format on save and check the checkbox. + +### Other Editors + +You will first need to [install rust-analyzer](https://rust-analyzer.github.io/manual.html#installation), then configure your editor and install any needed plugins or extensions as outlined on that page. + +### Pre Commit Hook + +If you want to think about formatting your code less and just have git yell at you whe you try to commit code that is not properly formatted, you can use a simple pre-commit hook. + +After cloning the repo, the file `pre-commit-hook` to `.git/hooks/pre-commit`. That's it. \ No newline at end of file diff --git a/pre-commit b/pre-commit new file mode 100755 index 0000000..07f61e9 --- /dev/null +++ b/pre-commit @@ -0,0 +1,3 @@ +#!/bin/bash + +cargo fmt --check