Skip to content

Commit 51db441

Browse files
committed
refactor(toml): Preserve the full newline for shebang
The shebang is thrown away so this has no end-user impact
1 parent 45c2ff8 commit 51db441

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/cargo/util/toml/embedded.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,12 @@ fn split_source(input: &str) -> CargoResult<Source<'_>> {
216216
}
217217

218218
// No other choice than to consider this a shebang.
219-
let (shebang, content) = source
219+
let newline_end = source
220220
.content
221-
.split_once('\n')
222-
.unwrap_or((source.content, ""));
221+
.find('\n')
222+
.map(|pos| pos + 1)
223+
.unwrap_or(source.content.len());
224+
let (shebang, content) = source.content.split_at(newline_end);
223225
source.shebang = Some(shebang);
224226
source.content = content;
225227
}
@@ -394,7 +396,7 @@ time="0.1.25"
394396
fn main() {}
395397
"#,
396398
str![[r##"
397-
shebang: "#!/usr/bin/env cargo"
399+
shebang: "#!/usr/bin/env cargo\n"
398400
info: None
399401
frontmatter: "[dependencies]\ntime=\"0.1.25\"\n"
400402
content: "fn main() {}\n"
@@ -408,7 +410,7 @@ content: "fn main() {}\n"
408410
assert_source(
409411
"#!/usr/bin/env cargo\r\n---\r\n[dependencies]\r\ntime=\"0.1.25\"\r\n---\r\nfn main() {}",
410412
str![[r##"
411-
shebang: "#!/usr/bin/env cargo\r"
413+
shebang: "#!/usr/bin/env cargo\r\n"
412414
info: ""
413415
frontmatter: "[dependencies]\r\ntime=\"0.1.25\"\r\n"
414416
content: "fn main() {}"
@@ -433,7 +435,7 @@ time="0.1.25"
433435
fn main() {}
434436
"#,
435437
str![[r##"
436-
shebang: "#!/usr/bin/env cargo"
438+
shebang: "#!/usr/bin/env cargo\n"
437439
info: None
438440
frontmatter: None
439441
content: " \n\n\n---\n[dependencies]\ntime=\"0.1.25\"\n---\n\n\nfn main() {}\n"
@@ -473,7 +475,7 @@ time="0.1.25"
473475
474476
fn main() {}"#,
475477
str![[r##"
476-
shebang: "#!/usr/bin/env cargo"
478+
shebang: "#!/usr/bin/env cargo\n"
477479
info: None
478480
frontmatter: "[dependencies]\ntime=\"0.1.25\"\n"
479481
content: "\nfn main() {}"

0 commit comments

Comments
 (0)