From 6cdc544178303903d961e81a0d31ad55e1574987 Mon Sep 17 00:00:00 2001 From: Elisabeth Henry Date: Sat, 7 May 2016 14:14:42 +0200 Subject: [PATCH] Factorize code in french cleaner --- src/lib/cleaner.rs | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/lib/cleaner.rs b/src/lib/cleaner.rs index 58b712a..2db2926 100644 --- a/src/lib/cleaner.rs +++ b/src/lib/cleaner.rs @@ -108,31 +108,23 @@ impl Cleaner for French { new_s.push(current); match current { // handle nb space after char - '—' => { + '—' | '«' => { if is_whitespace(next) { + let replacing_char = match current { + '—' => nb_char_em, + '«' => nb_char, + _ => unreachable!(), + }; if let Some(next) = chars.next() { - new_s.push(nb_char_em); + new_s.push(replacing_char); current = next; continue; } else { - current = nb_char_em; - break; - } - - } - }, - '«' => { - if is_whitespace(next) { - if let Some(next) = chars.next() { - new_s.push(nb_char); - current = next; - continue; - } else { - current = nb_char; + // current will be added after the loop, do don't do it now + current = replacing_char; break; } } - }, _ => (), }