diff --git a/src/main.rs b/src/main.rs
index 7c32128..f6f33c7 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -566,118 +566,118 @@ fn handle_relative_connection(
);
};
- if let Ok(pk_file) = File::open(file_paths.pk) {
- let lines = BufReader::new(pk_file).lines();
+ let Ok(pk_file) = File::open(file_paths.pk) else {
+ unreachable!();
+ };
- if let Some(i) = partial {
- let mut last_empty = true;
- let mut block = 0;
- let lines: Vec<_> = lines.map(Result::unwrap_or_default).collect();
- let mut lines = lines.into_iter();
- if i > 0 {
- for line in lines.by_ref() {
- let empty = line.trim().is_empty();
- if empty == last_empty {
- continue;
- }
- if empty {
- block += 1;
- if block == i {
- break;
- }
- }
- last_empty = empty;
- }
- }
+ let lines = BufReader::new(pk_file).lines();
- for line in lines.clone() {
+ if let Some(i) = partial {
+ let mut last_empty = true;
+ let mut block = 0;
+ let lines: Vec<_> = lines.map(Result::unwrap_or_default).collect();
+ let mut lines = lines.into_iter();
+ if i > 0 {
+ for line in lines.by_ref() {
let empty = line.trim().is_empty();
if empty == last_empty {
continue;
}
if empty {
block += 1;
+ if block == i {
+ break;
+ }
}
last_empty = empty;
}
-
- let _ = writeln!(stream, "
{title} ({}/{})
", i + 1, block);
-
- let _ = writeln!(
- stream,
- "< Stop >
"
- );
- if i > 0 {
- let prev = i - 1;
- let _ = writeln!(stream, "< Prev");
- } else {
- let _ = writeln!(stream, "< Prev");
- }
-
- if i + 1 < block {
- let next = i + 1;
- let _ = writeln!(stream, "Next >");
- } else {
- let _ = writeln!(stream, "Next >");
- }
-
- let _ = writeln!(stream, "
");
-
- let mut has_text = false;
- convert_extended(
- lines.take_while(|line| {
- let empty = line.trim().is_empty();
- if !empty {
- has_text = true;
- }
- !empty || !has_text
- }),
- &mut stream,
- Settings::default()
- .with_handler(handle_entry)
- .with_start_level(start_level)
- .with_use_textboxes(true),
- );
- } else {
- if !title.is_empty() {
- let _ = writeln!(stream, "{title}
");
- }
- let _ = writeln!(stream, "< Play >");
- convert_extended(
- lines.map(Result::unwrap_or_default),
- &mut stream,
- Settings::default()
- .with_handler(handle_entry)
- .with_start_level(start_level)
- .with_use_textboxes(true),
- );
}
+
+ for line in lines.clone() {
+ let empty = line.trim().is_empty();
+ if empty == last_empty {
+ continue;
+ }
+ if empty {
+ block += 1;
+ }
+ last_empty = empty;
+ }
+
+ let _ = writeln!(stream, "{title} ({}/{})
", i + 1, block);
+
+ let _ = writeln!(
+ stream,
+ "< Stop >
"
+ );
+ if i > 0 {
+ let prev = i - 1;
+ let _ = writeln!(stream, "< Prev");
+ } else {
+ let _ = writeln!(stream, "< Prev");
+ }
+
+ if i + 1 < block {
+ let next = i + 1;
+ let _ = writeln!(stream, "Next >");
+ } else {
+ let _ = writeln!(stream, "Next >");
+ }
+
+ let _ = writeln!(stream, "
");
+
+ let mut has_text = false;
+ convert_extended(
+ lines.take_while(|line| {
+ let empty = line.trim().is_empty();
+ if !empty {
+ has_text = true;
+ }
+ !empty || !has_text
+ }),
+ &mut stream,
+ Settings::default()
+ .with_handler(handle_entry)
+ .with_start_level(start_level)
+ .with_use_textboxes(true),
+ );
} else {
- unreachable!();
+ if !title.is_empty() {
+ let _ = writeln!(stream, "{title}
");
+ }
+ let _ = writeln!(stream, "< Play >");
+ convert_extended(
+ lines.map(Result::unwrap_or_default),
+ &mut stream,
+ Settings::default()
+ .with_handler(handle_entry)
+ .with_start_level(start_level)
+ .with_use_textboxes(true),
+ );
}
section(&mut stream);
if let Some(pki_path) = file_paths.pki {
- if let Ok(pki_file) = File::open(pki_path) {
- let _ = writeln!(stream, "Description
");
-
- if let Some(audio_path) = &file_paths.audio {
- if Path::is_file(audio_path) {
- let _ = writeln!(
- stream,
- ""
- );
- }
- }
-
- let lines = BufReader::new(pki_file).lines();
- convert_subheader(lines.map(Result::unwrap_or_default), &mut stream, 1);
-
- section(&mut stream);
- } else {
+ let Ok(pki_file) = File::open(pki_path) else {
unreachable!();
+ };
+
+ let _ = writeln!(stream, "Description
");
+
+ if let Some(audio_path) = &file_paths.audio {
+ if Path::is_file(audio_path) {
+ let _ = writeln!(
+ stream,
+ ""
+ );
+ }
}
+
+ let lines = BufReader::new(pki_file).lines();
+ convert_subheader(lines.map(Result::unwrap_or_default), &mut stream, 1);
+
+ section(&mut stream);
}
let html = html! {