Skip to content

Commit 23dfa82

Browse files
authored
Merge pull request #2295 from topecongiro/issue-2280
Make 'cargo fmt' formats every workspace member
2 parents 72413c5 + 85ef463 commit 23dfa82

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
### Changed
6+
7+
- `cargo fmt` will format every workspace member.
8+
59
## [0.3.2] 2017-12-15
610

711
### Changed

src/bin/cargo-fmt.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ fn get_targets_root_only(targets: &mut HashSet<Target>) -> Result<(), io::Error>
240240

241241
for package in metadata.packages {
242242
for target in package.targets {
243-
if target.name == package.name {
243+
if is_target_workspace_members(&target.name, &metadata.workspace_members) {
244244
targets.insert(Target::from_target(&target));
245245
}
246246
}
@@ -249,6 +249,15 @@ fn get_targets_root_only(targets: &mut HashSet<Target>) -> Result<(), io::Error>
249249
Ok(())
250250
}
251251

252+
fn is_target_workspace_members(target: &str, workspace_members: &[String]) -> bool {
253+
workspace_members.iter().any(|member| {
254+
member
255+
.split_whitespace()
256+
.nth(0)
257+
.map_or(false, |name| name == target)
258+
})
259+
}
260+
252261
fn get_targets_recursive(
253262
manifest_path: Option<&Path>,
254263
mut targets: &mut HashSet<Target>,

0 commit comments

Comments
 (0)