summaryrefslogtreecommitdiff
path: root/src/renderer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer.rs')
-rw-r--r--src/renderer.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/renderer.rs b/src/renderer.rs
index 6aa5ac7..6407b04 100644
--- a/src/renderer.rs
+++ b/src/renderer.rs
@@ -22,15 +22,12 @@ impl std::error::Error for RenderError {}
pub fn render(project_name: &str, files: &[(&Path, &[u8])]) -> Result<String, RenderError> {
let mut output = format!("# {}\n", project_name);
- if !files.is_empty() {
- output.push_str("\n## Files\n");
- }
for (filename, bytes) in files {
let content = std::str::from_utf8(bytes)
.map_err(|_| RenderError::BinaryFile(filename.to_path_buf()))?;
let outer_backticks = outer_backticks(content);
output.push_str(&format!(
- "\n### {:?}\n{}\n{}\n{}\n",
+ "\n## File: {:?}\n{}\n{}\n{}\n",
filename, outer_backticks, content, outer_backticks
));
}
@@ -75,8 +72,7 @@ mod tests {
assert_eq!(
output.unwrap(),
"# Project name\n\n\
- ## Files\n\n\
- ### \"main.rs\"\n\
+ ## File: \"main.rs\"\n\
```\n\
fn main() {}\n\
```\n"
@@ -95,12 +91,11 @@ mod tests {
assert_eq!(
output.unwrap(),
"# Project name\n\n\
- ## Files\n\n\
- ### \"main.rs\"\n\
+ ## File: \"main.rs\"\n\
```\n\
fn main() {}\n\
```\n\n\
- ### \"lib.rs\"\n\
+ ## File: \"lib.rs\"\n\
```\n\
pub fn hello() {}\n\
```\n"
@@ -119,8 +114,7 @@ mod tests {
assert_eq!(
output.unwrap(),
"# Project name\n\n\
- ## Files\n\n\
- ### \"example.rs\"\n\
+ ## File: \"example.rs\"\n\
````\n\
fn main() { println!(\"``` inside\"); }\n\
````\n"
@@ -150,8 +144,7 @@ mod tests {
assert_eq!(
output.unwrap(),
"# Project name\n\n\
- ## Files\n\n\
- ### \"some\\nma\\xC3in.rs\"\n\
+ ## File: \"some\\nma\\xC3in.rs\"\n\
```\n\
fn main() {}\n\
```\n"