Allow not indenting match arms
Open
Nobody has claimed this yet.
A-matches
C-feature-request
only-with-option
P-low
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 24
Description
It's a common style in C++ to see:
switch (foo) {
case Foo::Bar: {
...
} break;
case Foo::Baz: {
...
} break;
}
I would like a similar style to be possible with rustfmt:
match foo {
| Foo::Bar => {
...
}
| Foo::Baz => {
...
}
}
or
match foo {
Foo::Bar => {
...
}
Foo::Baz => {
...
}
}
This would require two configuration options, probably; | before each case, and the non-indentation.
Thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named in the issue. Start by locating rustfmt's match-arm formatting and configuration handling, then determine how the proposed alternatives should be represented as options. Done means the requested match-arm styles are configurable and covered by formatting tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100