From d254dbb848ecf093c0de54a9104915f47f782ad1 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 7 Feb 2022 18:50:07 +0300 Subject: feat(depotfmt): Check & format Rust code with rustfmt The rustfmt configuration of the depot is moved to `rustfmt.toml` (it is recognised more reliably from this path than from the hidden .rustfmt.toml). Nested configuration is theoretically possible, but detection of nested config files is flaky. Paths with nested config files need to be disabled in the top-level check (I've excluded my user directory). Change-Id: I385ce3ef529bda28fac03bfba86fc204c81b8a61 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5241 Tested-by: BuildkiteCI Reviewed-by: grfn --- .rustfmt.toml | 22 ---------------------- rustfmt.toml | 1 + tools/depotfmt.nix | 7 +++++++ 3 files changed, 8 insertions(+), 22 deletions(-) delete mode 100644 .rustfmt.toml create mode 100644 rustfmt.toml diff --git a/.rustfmt.toml b/.rustfmt.toml deleted file mode 100644 index 6ad0d5341a..0000000000 --- a/.rustfmt.toml +++ /dev/null @@ -1,22 +0,0 @@ -# This configuration file changes some defaults from the ones -# documented on https://rust-lang.github.io/rustfmt/ -# -# All other settings are left at the defaults. - -edition = "2018" -newline_style = "Unix" -use_try_shorthand = true - -# Unstable settings that we want in the future, once they are -# available: -# -# combine_control_expr = false -# comment_width = 100 -# condense_wildcard_suffixes = true -# format_code_in_doc_comments = true -# inline_attribute_width = 100 -# match_block_trailing_comma = true -# merge_imports = true -# normalize_comments = true -# overflow_delimited_expr = true -# wrap_comments = true diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000000..3a26366d4d --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1 @@ +edition = "2021" diff --git a/tools/depotfmt.nix b/tools/depotfmt.nix index 21e71bf3b6..dbd3a31a0d 100644 --- a/tools/depotfmt.nix +++ b/tools/depotfmt.nix @@ -26,6 +26,13 @@ let "third_party/nix/tests/*", "third_party/nix/src/tests/*" ] + + [formatter.rust] + command = "${pkgs.rustfmt}/bin/rustfmt" + includes = [ "*.rs" ] + excludes = [ + "users/tazjin/*", + ] ''; # helper tool for formatting the depot interactively -- cgit 1.4.1