diff options
author | Pyfisch <pyfisch@gmail.com> | 2018-08-24 15:44:25 +0200 |
---|---|---|
committer | Pyfisch <pyfisch@gmail.com> | 2018-09-01 13:24:57 +0200 |
commit | 349047b096fc8d121bc1a5be1ab74eabe648285b (patch) | |
tree | a18c07097a9935a54c8c2f5c5a317a8479bc1dcf /components/layout/generated_content.rs | |
parent | 577830de909dd692f2d178d139984f45bbf929c3 (diff) | |
download | servo-349047b096fc8d121bc1a5be1ab74eabe648285b.tar.gz servo-349047b096fc8d121bc1a5be1ab74eabe648285b.zip |
Rustfmt layout crate
Diffstat (limited to 'components/layout/generated_content.rs')
-rw-r--r-- | components/layout/generated_content.rs | 379 |
1 files changed, 212 insertions, 167 deletions
diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index a006fdfa4b4..90341abe3d9 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -25,73 +25,103 @@ use text::TextRunScanner; use traversal::InorderFlowTraversal; // Decimal styles per CSS-COUNTER-STYLES § 6.1: -static DECIMAL: [char; 10] = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ]; +static DECIMAL: [char; 10] = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; // TODO(pcwalton): `decimal-leading-zero` -static ARABIC_INDIC: [char; 10] = [ '٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩' ]; +static ARABIC_INDIC: [char; 10] = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩']; // TODO(pcwalton): `armenian`, `upper-armenian`, `lower-armenian` -static BENGALI: [char; 10] = [ '০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯' ]; -static CAMBODIAN: [char; 10] = [ '០', '១', '២', '៣', '៤', '៥', '៦', '៧', '៨', '៩' ]; +static BENGALI: [char; 10] = [ + '০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯', +]; +static CAMBODIAN: [char; 10] = [ + '០', '១', '២', '៣', '៤', '៥', '៦', '៧', '៨', '៩', +]; // TODO(pcwalton): Suffix for CJK decimal. -static CJK_DECIMAL: [char; 10] = [ '〇', '一', '二', '三', '四', '五', '六', '七', '八', '九' ]; -static DEVANAGARI: [char; 10] = [ '०', '१', '२', '३', '४', '५', '६', '७', '८', '९' ]; +static CJK_DECIMAL: [char; 10] = [ + '〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', +]; +static DEVANAGARI: [char; 10] = [ + '०', '१', '२', '३', '४', '५', '६', '७', '८', '९', +]; // TODO(pcwalton): `georgian` -static GUJARATI: [char; 10] = ['૦', '૧', '૨', '૩', '૪', '૫', '૬', '૭', '૮', '૯']; -static GURMUKHI: [char; 10] = ['੦', '੧', '੨', '੩', '੪', '੫', '੬', '੭', '੮', '੯']; +static GUJARATI: [char; 10] = [ + '૦', '૧', '૨', '૩', '૪', '૫', '૬', '૭', '૮', '૯', +]; +static GURMUKHI: [char; 10] = [ + '੦', '੧', '੨', '੩', '੪', '੫', '੬', '੭', '੮', '੯', +]; // TODO(pcwalton): `hebrew` -static KANNADA: [char; 10] = ['೦', '೧', '೨', '೩', '೪', '೫', '೬', '೭', '೮', '೯']; -static LAO: [char; 10] = ['໐', '໑', '໒', '໓', '໔', '໕', '໖', '໗', '໘', '໙']; -static MALAYALAM: [char; 10] = ['൦', '൧', '൨', '൩', '൪', '൫', '൬', '൭', '൮', '൯']; -static MONGOLIAN: [char; 10] = ['᠐', '᠑', '᠒', '᠓', '᠔', '᠕', '᠖', '᠗', '᠘', '᠙']; -static MYANMAR: [char; 10] = ['၀', '၁', '၂', '၃', '၄', '၅', '၆', '၇', '၈', '၉']; -static ORIYA: [char; 10] = ['୦', '୧', '୨', '୩', '୪', '୫', '୬', '୭', '୮', '୯']; +static KANNADA: [char; 10] = [ + '೦', '೧', '೨', '೩', '೪', '೫', '೬', '೭', '೮', '೯', +]; +static LAO: [char; 10] = [ + '໐', '໑', '໒', '໓', '໔', '໕', '໖', '໗', '໘', '໙', +]; +static MALAYALAM: [char; 10] = [ + '൦', '൧', '൨', '൩', '൪', '൫', '൬', '൭', '൮', '൯', +]; +static MONGOLIAN: [char; 10] = [ + '᠐', '᠑', '᠒', '᠓', '᠔', '᠕', '᠖', '᠗', '᠘', '᠙', +]; +static MYANMAR: [char; 10] = [ + '၀', '၁', '၂', '၃', '၄', '၅', '၆', '၇', '၈', '၉', +]; +static ORIYA: [char; 10] = [ + '୦', '୧', '୨', '୩', '୪', '୫', '୬', '୭', '୮', '୯', +]; static PERSIAN: [char; 10] = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹']; // TODO(pcwalton): `lower-roman`, `upper-roman` -static TELUGU: [char; 10] = ['౦', '౧', '౨', '౩', '౪', '౫', '౬', '౭', '౮', '౯']; -static THAI: [char; 10] = ['๐', '๑', '๒', '๓', '๔', '๕', '๖', '๗', '๘', '๙']; -static TIBETAN: [char; 10] = ['༠', '༡', '༢', '༣', '༤', '༥', '༦', '༧', '༨', '༩']; +static TELUGU: [char; 10] = [ + '౦', '౧', '౨', '౩', '౪', '౫', '౬', '౭', '౮', '౯', +]; +static THAI: [char; 10] = [ + '๐', '๑', '๒', '๓', '๔', '๕', '๖', '๗', '๘', '๙', +]; +static TIBETAN: [char; 10] = [ + '༠', '༡', '༢', '༣', '༤', '༥', '༦', '༧', '༨', '༩', +]; // Alphabetic styles per CSS-COUNTER-STYLES § 6.2: static LOWER_ALPHA: [char; 26] = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', - 't', 'u', 'v', 'w', 'x', 'y', 'z' + 't', 'u', 'v', 'w', 'x', 'y', 'z', ]; static UPPER_ALPHA: [char; 26] = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', - 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' + 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ]; static CJK_EARTHLY_BRANCH: [char; 12] = [ - '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥' + '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥', ]; static CJK_HEAVENLY_STEM: [char; 10] = [ - '甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸' + '甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸', ]; static LOWER_GREEK: [char; 24] = [ - 'α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 'λ', 'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'τ', - 'υ', 'φ', 'χ', 'ψ', 'ω' + 'α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 'λ', 'μ', 'ν', 'ξ', 'ο', 'π', + 'ρ', 'σ', 'τ', 'υ', 'φ', 'χ', 'ψ', 'ω', ]; static HIRAGANA: [char; 48] = [ - 'あ', 'い', 'う', 'え', 'お', 'か', 'き', 'く', 'け', 'こ', 'さ', 'し', 'す', 'せ', 'そ', - 'た', 'ち', 'つ', 'て', 'と', 'な', 'に', 'ぬ', 'ね', 'の', 'は', 'ひ', 'ふ', 'へ', 'ほ', - 'ま', 'み', 'む', 'め', 'も', 'や', 'ゆ', 'よ', 'ら', 'り', 'る', 'れ', 'ろ', - 'わ', 'ゐ', 'ゑ', 'を', 'ん' + 'あ', 'い', 'う', 'え', 'お', 'か', 'き', 'く', 'け', 'こ', 'さ', 'し', 'す', + 'せ', 'そ', 'た', 'ち', 'つ', 'て', 'と', 'な', 'に', 'ぬ', 'ね', 'の', 'は', + 'ひ', 'ふ', 'へ', 'ほ', 'ま', 'み', 'む', 'め', 'も', 'や', 'ゆ', 'よ', 'ら', + 'り', 'る', 'れ', 'ろ', 'わ', 'ゐ', 'ゑ', 'を', 'ん', ]; static HIRAGANA_IROHA: [char; 47] = [ - 'い', 'ろ', 'は', 'に', 'ほ', 'へ', 'と', 'ち', 'り', 'ぬ', 'る', 'を', 'わ', 'か', 'よ', - 'た', 'れ', 'そ', 'つ', 'ね', 'な', 'ら', 'む', 'う', 'ゐ', 'の', 'お', 'く', 'や', 'ま', - 'け', 'ふ', 'こ', 'え', 'て', 'あ', 'さ', 'き', 'ゆ', 'め', 'み', 'し', 'ゑ', - 'ひ', 'も', 'せ', 'す' + 'い', 'ろ', 'は', 'に', 'ほ', 'へ', 'と', 'ち', 'り', 'ぬ', 'る', 'を', 'わ', + 'か', 'よ', 'た', 'れ', 'そ', 'つ', 'ね', 'な', 'ら', 'む', 'う', 'ゐ', 'の', + 'お', 'く', 'や', 'ま', 'け', 'ふ', 'こ', 'え', 'て', 'あ', 'さ', 'き', 'ゆ', + 'め', 'み', 'し', 'ゑ', 'ひ', 'も', 'せ', 'す', ]; static KATAKANA: [char; 48] = [ - 'ア', 'イ', 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 'シ', 'ス', 'セ', 'ソ', - 'タ', 'チ', 'ツ', 'テ', 'ト', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ', 'ホ', - 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ', - 'ワ', 'ヰ', 'ヱ', 'ヲ', 'ン' + 'ア', 'イ', 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 'シ', 'ス', + 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', + 'ヒ', 'フ', 'ヘ', 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ', 'ラ', + 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ヰ', 'ヱ', 'ヲ', 'ン', ]; static KATAKANA_IROHA: [char; 47] = [ - 'イ', 'ロ', 'ハ', 'ニ', 'ホ', 'ヘ', 'ト', 'チ', 'リ', 'ヌ', 'ル', 'ヲ', 'ワ', 'カ', 'ヨ', - 'タ', 'レ', 'ソ', 'ツ', 'ネ', 'ナ', 'ラ', 'ム', 'ウ', 'ヰ', 'ノ', 'オ', 'ク', 'ヤ', 'マ', - 'ケ', 'フ', 'コ', 'エ', 'テ', 'ア', 'サ', 'キ', 'ユ', 'メ', 'ミ', 'シ', 'ヱ', - 'ヒ', 'モ', 'セ', 'ス' + 'イ', 'ロ', 'ハ', 'ニ', 'ホ', 'ヘ', 'ト', 'チ', 'リ', 'ヌ', 'ル', 'ヲ', 'ワ', + 'カ', 'ヨ', 'タ', 'レ', 'ソ', 'ツ', 'ネ', 'ナ', 'ラ', 'ム', 'ウ', 'ヰ', 'ノ', + 'オ', 'ク', 'ヤ', 'マ', 'ケ', 'フ', 'コ', 'エ', 'テ', 'ア', 'サ', 'キ', 'ユ', + 'メ', 'ミ', 'シ', 'ヱ', 'ヒ', 'モ', 'セ', 'ス', ]; /// The generated content resolution traversal. @@ -132,8 +162,12 @@ impl<'a> InorderFlowTraversal for ResolveGeneratedContent<'a> { #[inline] fn should_process_subtree(&mut self, flow: &mut Flow) -> bool { - flow.base().restyle_damage.intersects(ServoRestyleDamage::RESOLVE_GENERATED_CONTENT) || - flow.base().flags.intersects(FlowFlags::AFFECTS_COUNTERS | FlowFlags::HAS_COUNTER_AFFECTING_CHILDREN) + flow.base() + .restyle_damage + .intersects(ServoRestyleDamage::RESOLVE_GENERATED_CONTENT) || + flow.base().flags.intersects( + FlowFlags::AFFECTS_COUNTERS | FlowFlags::HAS_COUNTER_AFFECTING_CHILDREN, + ) } } @@ -168,81 +202,97 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { if let SpecificFragmentInfo::GeneratedContent(ref mut info) = fragment.specific { info } else { - return + return; }; match **info { GeneratedContentInfo::ListItem => { - new_info = self.traversal.list_item.render(self.traversal.layout_context, - fragment.node, - fragment.pseudo.clone(), - fragment.style.clone(), - list_style_type, - RenderingMode::Suffix(".\u{00a0}")) - } + new_info = self.traversal.list_item.render( + self.traversal.layout_context, + fragment.node, + fragment.pseudo.clone(), + fragment.style.clone(), + list_style_type, + RenderingMode::Suffix(".\u{00a0}"), + ) + }, GeneratedContentInfo::Empty | GeneratedContentInfo::ContentItem(ContentItem::String(_)) => { // Nothing to do here. - } - GeneratedContentInfo::ContentItem(ContentItem::Counter(ref counter_name, - counter_style)) => { + }, + GeneratedContentInfo::ContentItem(ContentItem::Counter( + ref counter_name, + counter_style, + )) => { let temporary_counter = Counter::new(); - let counter = self.traversal + let counter = self + .traversal .counters .get(&*counter_name.0) .unwrap_or(&temporary_counter); - new_info = counter.render(self.traversal.layout_context, - fragment.node, - fragment.pseudo.clone(), - fragment.style.clone(), - counter_style, - RenderingMode::Plain) - } - GeneratedContentInfo::ContentItem(ContentItem::Counters(ref counter_name, - ref separator, - counter_style)) => { + new_info = counter.render( + self.traversal.layout_context, + fragment.node, + fragment.pseudo.clone(), + fragment.style.clone(), + counter_style, + RenderingMode::Plain, + ) + }, + GeneratedContentInfo::ContentItem(ContentItem::Counters( + ref counter_name, + ref separator, + counter_style, + )) => { let temporary_counter = Counter::new(); - let counter = self.traversal + let counter = self + .traversal .counters .get(&*counter_name.0) .unwrap_or(&temporary_counter); - new_info = counter.render(self.traversal.layout_context, - fragment.node, - fragment.pseudo, - fragment.style.clone(), - counter_style, - RenderingMode::All(&separator)); - } + new_info = counter.render( + self.traversal.layout_context, + fragment.node, + fragment.pseudo, + fragment.style.clone(), + counter_style, + RenderingMode::All(&separator), + ); + }, GeneratedContentInfo::ContentItem(ContentItem::OpenQuote) => { - new_info = render_text(self.traversal.layout_context, - fragment.node, - fragment.pseudo, - fragment.style.clone(), - self.quote(&*fragment.style, false)); + new_info = render_text( + self.traversal.layout_context, + fragment.node, + fragment.pseudo, + fragment.style.clone(), + self.quote(&*fragment.style, false), + ); self.traversal.quote += 1 - } + }, GeneratedContentInfo::ContentItem(ContentItem::CloseQuote) => { if self.traversal.quote >= 1 { self.traversal.quote -= 1 } - new_info = render_text(self.traversal.layout_context, - fragment.node, - fragment.pseudo, - fragment.style.clone(), - self.quote(&*fragment.style, true)); - } + new_info = render_text( + self.traversal.layout_context, + fragment.node, + fragment.pseudo, + fragment.style.clone(), + self.quote(&*fragment.style, true), + ); + }, GeneratedContentInfo::ContentItem(ContentItem::NoOpenQuote) => { self.traversal.quote += 1 - } + }, GeneratedContentInfo::ContentItem(ContentItem::NoCloseQuote) => { if self.traversal.quote >= 1 { self.traversal.quote -= 1 } - } + }, GeneratedContentInfo::ContentItem(ContentItem::Url(..)) => { unreachable!("Servo doesn't parse content: url(..) yet") - } + }, } }; @@ -252,7 +302,7 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { // so that it isn't processed again on the next layout. FIXME (mbrubeck): When // processing an inline flow, this traversal should be allowed to insert or remove // fragments. Then we can just remove these fragments rather than adding placeholders. - None => SpecificFragmentInfo::GeneratedContent(Box::new(GeneratedContentInfo::Empty)) + None => SpecificFragmentInfo::GeneratedContent(Box::new(GeneratedContentInfo::Empty)), }; } @@ -263,9 +313,12 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { } match list_style_type { - ListStyleType::Disc | ListStyleType::None | ListStyleType::Circle | - ListStyleType::Square | ListStyleType::DisclosureOpen | - ListStyleType::DisclosureClosed => {} + ListStyleType::Disc | + ListStyleType::None | + ListStyleType::Circle | + ListStyleType::Square | + ListStyleType::DisclosureOpen | + ListStyleType::DisclosureClosed => {}, _ => self.traversal.list_item.increment(self.level, 1), } @@ -278,25 +331,29 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { for pair in &*fragment.style().get_counters().counter_reset { let counter_name = &*pair.name.0; if let Some(ref mut counter) = self.traversal.counters.get_mut(counter_name) { - counter.reset(self.level, pair.value); - continue + counter.reset(self.level, pair.value); + continue; } let mut counter = Counter::new(); counter.reset(self.level, pair.value); - self.traversal.counters.insert(counter_name.to_owned(), counter); + self.traversal + .counters + .insert(counter_name.to_owned(), counter); } for pair in &*fragment.style().get_counters().counter_increment { let counter_name = &*pair.name.0; if let Some(ref mut counter) = self.traversal.counters.get_mut(counter_name) { counter.increment(self.level, pair.value); - continue + continue; } let mut counter = Counter::new(); counter.increment(self.level, pair.value); - self.traversal.counters.insert(counter_name.to_owned(), counter); + self.traversal + .counters + .insert(counter_name.to_owned(), counter); } self.incremented = true @@ -305,14 +362,14 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { fn quote(&self, style: &ComputedValues, close: bool) -> String { let quotes = &style.get_list().quotes; if quotes.0.is_empty() { - return String::new() + return String::new(); } - let &(ref open_quote, ref close_quote) = - if self.traversal.quote as usize >= quotes.0.len() { - quotes.0.last().unwrap() - } else { - "es.0[self.traversal.quote as usize] - }; + let &(ref open_quote, ref close_quote) = if self.traversal.quote as usize >= quotes.0.len() + { + quotes.0.last().unwrap() + } else { + "es.0[self.traversal.quote as usize] + }; if close { close_quote.to_string() } else { @@ -329,9 +386,7 @@ struct Counter { impl Counter { fn new() -> Counter { - Counter { - values: Vec::new(), - } + Counter { values: Vec::new() } } fn reset(&mut self, level: u32, value: i32) { @@ -339,7 +394,7 @@ impl Counter { if let Some(ref mut existing_value) = self.values.last_mut() { if level == existing_value.level { existing_value.value = value; - return + return; } } @@ -359,7 +414,7 @@ impl Counter { fn increment(&mut self, level: u32, amount: i32) { if let Some(ref mut value) = self.values.last_mut() { value.value += amount; - return + return; } self.values.push(CounterValue { @@ -368,14 +423,15 @@ impl Counter { }) } - fn render(&self, - layout_context: &LayoutContext, - node: OpaqueNode, - pseudo: PseudoElementType, - style: ::ServoArc<ComputedValues>, - list_style_type: ListStyleType, - mode: RenderingMode) - -> Option<SpecificFragmentInfo> { + fn render( + &self, + layout_context: &LayoutContext, + node: OpaqueNode, + pseudo: PseudoElementType, + style: ::ServoArc<ComputedValues>, + list_style_type: ListStyleType, + mode: RenderingMode, + ) -> Option<SpecificFragmentInfo> { let mut string = String::new(); match mode { RenderingMode::Plain => { @@ -384,7 +440,7 @@ impl Counter { None => 0, }; push_representation(value, list_style_type, &mut string) - } + }, RenderingMode::Suffix(suffix) => { let value = match self.values.last() { Some(ref value) => value.value, @@ -392,7 +448,7 @@ impl Counter { }; push_representation(value, list_style_type, &mut string); string.push_str(suffix) - } + }, RenderingMode::All(separator) => { let mut first = true; for value in &self.values { @@ -402,7 +458,7 @@ impl Counter { first = false; push_representation(value.value, list_style_type, &mut string) } - } + }, } if string.is_empty() { @@ -432,22 +488,26 @@ struct CounterValue { } /// Creates fragment info for a literal string. -fn render_text(layout_context: &LayoutContext, - node: OpaqueNode, - pseudo: PseudoElementType, - style: ::ServoArc<ComputedValues>, - string: String) - -> Option<SpecificFragmentInfo> { +fn render_text( + layout_context: &LayoutContext, + node: OpaqueNode, + pseudo: PseudoElementType, + style: ::ServoArc<ComputedValues>, + string: String, +) -> Option<SpecificFragmentInfo> { let mut fragments = LinkedList::new(); - let info = SpecificFragmentInfo::UnscannedText( - Box::new(UnscannedTextFragmentInfo::new(string.into_boxed_str(), None)) - ); - fragments.push_back(Fragment::from_opaque_node_and_style(node, - pseudo, - style.clone(), - style, - RestyleDamage::rebuild_and_reflow(), - info)); + let info = SpecificFragmentInfo::UnscannedText(Box::new(UnscannedTextFragmentInfo::new( + string.into_boxed_str(), + None, + ))); + fragments.push_back(Fragment::from_opaque_node_and_style( + node, + pseudo, + style.clone(), + style, + RestyleDamage::rebuild_and_reflow(), + info, + )); // FIXME(pcwalton): This should properly handle multiple marker fragments. This could happen // due to text run splitting. let fragments = with_thread_local_font_context(layout_context, |font_context| { @@ -464,39 +524,28 @@ fn render_text(layout_context: &LayoutContext, /// `list-style-type` onto the given string. fn push_representation(value: i32, list_style_type: ListStyleType, accumulator: &mut String) { match list_style_type { - ListStyleType::None => {} + ListStyleType::None => {}, ListStyleType::Disc | ListStyleType::Circle | ListStyleType::Square | ListStyleType::DisclosureOpen | - ListStyleType::DisclosureClosed => { - accumulator.push(static_representation(list_style_type)) - } + ListStyleType::DisclosureClosed => accumulator.push(static_representation(list_style_type)), ListStyleType::Decimal => push_numeric_representation(value, &DECIMAL, accumulator), ListStyleType::ArabicIndic => { push_numeric_representation(value, &ARABIC_INDIC, accumulator) - } + }, ListStyleType::Bengali => push_numeric_representation(value, &BENGALI, accumulator), - ListStyleType::Cambodian | - ListStyleType::Khmer => { + ListStyleType::Cambodian | ListStyleType::Khmer => { push_numeric_representation(value, &CAMBODIAN, accumulator) - } - ListStyleType::CjkDecimal => { - push_numeric_representation(value, &CJK_DECIMAL, accumulator) - } - ListStyleType::Devanagari => { - push_numeric_representation(value, &DEVANAGARI, accumulator) - } + }, + ListStyleType::CjkDecimal => push_numeric_representation(value, &CJK_DECIMAL, accumulator), + ListStyleType::Devanagari => push_numeric_representation(value, &DEVANAGARI, accumulator), ListStyleType::Gujarati => push_numeric_representation(value, &GUJARATI, accumulator), ListStyleType::Gurmukhi => push_numeric_representation(value, &GURMUKHI, accumulator), ListStyleType::Kannada => push_numeric_representation(value, &KANNADA, accumulator), ListStyleType::Lao => push_numeric_representation(value, &LAO, accumulator), - ListStyleType::Malayalam => { - push_numeric_representation(value, &MALAYALAM, accumulator) - } - ListStyleType::Mongolian => { - push_numeric_representation(value, &MONGOLIAN, accumulator) - } + ListStyleType::Malayalam => push_numeric_representation(value, &MALAYALAM, accumulator), + ListStyleType::Mongolian => push_numeric_representation(value, &MONGOLIAN, accumulator), ListStyleType::Myanmar => push_numeric_representation(value, &MYANMAR, accumulator), ListStyleType::Oriya => push_numeric_representation(value, &ORIYA, accumulator), ListStyleType::Persian => push_numeric_representation(value, &PERSIAN, accumulator), @@ -505,31 +554,27 @@ fn push_representation(value: i32, list_style_type: ListStyleType, accumulator: ListStyleType::Tibetan => push_numeric_representation(value, &TIBETAN, accumulator), ListStyleType::LowerAlpha => { push_alphabetic_representation(value, &LOWER_ALPHA, accumulator) - } + }, ListStyleType::UpperAlpha => { push_alphabetic_representation(value, &UPPER_ALPHA, accumulator) - } + }, ListStyleType::CjkEarthlyBranch => { push_alphabetic_representation(value, &CJK_EARTHLY_BRANCH, accumulator) - } + }, ListStyleType::CjkHeavenlyStem => { push_alphabetic_representation(value, &CJK_HEAVENLY_STEM, accumulator) - } + }, ListStyleType::LowerGreek => { push_alphabetic_representation(value, &LOWER_GREEK, accumulator) - } - ListStyleType::Hiragana => { - push_alphabetic_representation(value, &HIRAGANA, accumulator) - } + }, + ListStyleType::Hiragana => push_alphabetic_representation(value, &HIRAGANA, accumulator), ListStyleType::HiraganaIroha => { push_alphabetic_representation(value, &HIRAGANA_IROHA, accumulator) - } - ListStyleType::Katakana => { - push_alphabetic_representation(value, &KATAKANA, accumulator) - } + }, + ListStyleType::Katakana => push_alphabetic_representation(value, &KATAKANA, accumulator), ListStyleType::KatakanaIroha => { push_alphabetic_representation(value, &KATAKANA_IROHA, accumulator) - } + }, } } @@ -572,7 +617,7 @@ fn push_numeric_representation(value: i32, system: &[char], accumulator: &mut St // Step 1. if abs_value == 0 { accumulator.push(system[0]); - return + return; } // Step 2. |