style(arr): rustfmt arr-subs
This commit is contained in:
+14
-13
@@ -122,12 +122,7 @@ pub fn render(cues: &[Cue]) -> String {
|
|||||||
let _ = writeln!(out);
|
let _ = writeln!(out);
|
||||||
}
|
}
|
||||||
let _ = writeln!(out, "{}", position + 1);
|
let _ = writeln!(out, "{}", position + 1);
|
||||||
let _ = writeln!(
|
let _ = writeln!(out, "{} --> {}", Timestamp(cue.start), Timestamp(cue.end));
|
||||||
out,
|
|
||||||
"{} --> {}",
|
|
||||||
Timestamp(cue.start),
|
|
||||||
Timestamp(cue.end)
|
|
||||||
);
|
|
||||||
let _ = writeln!(out, "{}", cue.text);
|
let _ = writeln!(out, "{}", cue.text);
|
||||||
}
|
}
|
||||||
out
|
out
|
||||||
@@ -142,7 +137,10 @@ impl fmt::Display for Timestamp {
|
|||||||
let (seconds, millis) = (millis / 1_000, millis % 1_000);
|
let (seconds, millis) = (millis / 1_000, millis % 1_000);
|
||||||
let (minutes, seconds) = (seconds / 60, seconds % 60);
|
let (minutes, seconds) = (seconds / 60, seconds % 60);
|
||||||
let (hours, minutes) = (minutes / 60, minutes % 60);
|
let (hours, minutes) = (minutes / 60, minutes % 60);
|
||||||
write!(formatter, "{hours:02}:{minutes:02}:{seconds:02},{millis:03}")
|
write!(
|
||||||
|
formatter,
|
||||||
|
"{hours:02}:{minutes:02}:{seconds:02},{millis:03}"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,13 +174,15 @@ fn parse_timestamp(text: &str) -> Result<Duration, String> {
|
|||||||
else {
|
else {
|
||||||
return Err(bad());
|
return Err(bad());
|
||||||
};
|
};
|
||||||
let (seconds, millis) = rest
|
let (seconds, millis) = rest.split_once([',', '.']).ok_or_else(bad)?;
|
||||||
.split_once([',', '.'])
|
|
||||||
.ok_or_else(bad)?;
|
|
||||||
|
|
||||||
let field = |s: &str| s.trim().parse::<u64>().map_err(|_| bad());
|
let field = |s: &str| s.trim().parse::<u64>().map_err(|_| bad());
|
||||||
let (hours, minutes, seconds, millis) =
|
let (hours, minutes, seconds, millis) = (
|
||||||
(field(hours)?, field(minutes)?, field(seconds)?, field(millis)?);
|
field(hours)?,
|
||||||
|
field(minutes)?,
|
||||||
|
field(seconds)?,
|
||||||
|
field(millis)?,
|
||||||
|
);
|
||||||
if minutes >= 60 || seconds >= 60 || millis >= 1_000 {
|
if minutes >= 60 || seconds >= 60 || millis >= 1_000 {
|
||||||
return Err(bad());
|
return Err(bad());
|
||||||
}
|
}
|
||||||
@@ -228,7 +228,8 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn original_indices_are_discarded_and_render_renumbers() {
|
fn original_indices_are_discarded_and_render_renumbers() {
|
||||||
let file = "7\n00:00:01,000 --> 00:00:02,000\nfirst\n\n9\n00:00:03,000 --> 00:00:04,000\nsecond\n";
|
let file =
|
||||||
|
"7\n00:00:01,000 --> 00:00:02,000\nfirst\n\n9\n00:00:03,000 --> 00:00:04,000\nsecond\n";
|
||||||
let cues = parse(file).expect("gappy indices parse");
|
let cues = parse(file).expect("gappy indices parse");
|
||||||
let rendered = render(&cues);
|
let rendered = render(&cues);
|
||||||
assert!(rendered.starts_with("1\n00:00:01,000 --> 00:00:02,000\nfirst\n"));
|
assert!(rendered.starts_with("1\n00:00:01,000 --> 00:00:02,000\nfirst\n"));
|
||||||
|
|||||||
@@ -102,7 +102,8 @@ pub struct TranslatedCue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// The translated batch, in reply order.
|
/// The translated batch, in reply order.
|
||||||
pub type TranslateFuture<'a> = Pin<Box<dyn Future<Output = Result<Vec<TranslatedCue>>> + Send + 'a>>;
|
pub type TranslateFuture<'a> =
|
||||||
|
Pin<Box<dyn Future<Output = Result<Vec<TranslatedCue>>> + Send + 'a>>;
|
||||||
|
|
||||||
/// One translation backend (DESIGN.md §15).
|
/// One translation backend (DESIGN.md §15).
|
||||||
///
|
///
|
||||||
|
|||||||
Reference in New Issue
Block a user