Skip to content

Commit 673535f

Browse files
committed
Add config option generated_file_header_size to specify how many lines to look at when checking for @generated
1 parent ee2bed9 commit 673535f

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/config/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ create_config! {
148148
"Write an item and its attribute on the same line \
149149
if their combined width is below a threshold";
150150
format_generated_files: bool, true, false, "Format generated files";
151+
generated_file_header_size: usize, 5, false, "Number of lines to check for a `@generated` \
152+
pragma header when `format_generated_files` is true";
151153

152154
// Options that can change the source code beyond whitespace/blocks (somewhat linty things)
153155
merge_derives: bool, true, true, "Merge multiple `#[derive(...)]` into a single one";
@@ -667,6 +669,7 @@ edition = "2015"
667669
version = "One"
668670
inline_attribute_width = 0
669671
format_generated_files = true
672+
generated_file_header_size = 5
670673
merge_derives = true
671674
use_try_shorthand = false
672675
use_field_init_shorthand = false

src/formatting.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ fn should_skip_module<T: FormatHandler>(
8282
let source_file = context.parse_session.span_to_file_contents(module.span);
8383
let src = source_file.src.as_ref().expect("SourceFile without src");
8484

85-
if is_generated_file(src) {
85+
if is_generated_file(src, config.generated_file_header_size()) {
8686
return true;
8787
}
8888
}

src/formatting/generated.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/// Returns `true` if the given span is a part of generated files.
2-
pub(super) fn is_generated_file(original_snippet: &str) -> bool {
2+
pub(super) fn is_generated_file(original_snippet: &str, header_size: usize) -> bool {
33
original_snippet
44
.lines()
5-
.take(5) // looking for marker only in the beginning of the file
5+
.take(header_size) // looking for marker only in the beginning of the file
66
.any(|line| line.contains("@generated"))
77
}

0 commit comments

Comments
 (0)