mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-21 03:14:11 +00:00
Handle ordered lists as well
This commit is contained in:
parent
5309a3e31d
commit
b02cb1978c
@ -427,12 +427,15 @@ pub fn render(w: &mut fmt::Formatter,
|
|||||||
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
|
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if shorter.is_compact() {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
buffer.push_str(&format!("<li>{}</li>", content));
|
buffer.push_str(&format!("<li>{}</li>", content));
|
||||||
}
|
}
|
||||||
|
|
||||||
fn list(parser: &mut ParserWrapper, buffer: &mut String, toc_builder: &mut Option<TocBuilder>,
|
fn list(parser: &mut ParserWrapper, buffer: &mut String, toc_builder: &mut Option<TocBuilder>,
|
||||||
shorter: MarkdownOutputStyle) {
|
shorter: MarkdownOutputStyle, is_sorted_list: bool) {
|
||||||
debug!("List");
|
debug!("List");
|
||||||
let mut content = String::new();
|
let mut content = String::new();
|
||||||
while let Some(event) = parser.next() {
|
while let Some(event) = parser.next() {
|
||||||
@ -445,8 +448,13 @@ pub fn render(w: &mut fmt::Formatter,
|
|||||||
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
|
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if shorter.is_compact() {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
buffer.push_str(&format!("<ul>{}</ul>", content));
|
buffer.push_str(&format!("<{0}>{1}</{0}>",
|
||||||
|
if is_sorted_list { "ol" } else { "ul" },
|
||||||
|
content));
|
||||||
}
|
}
|
||||||
|
|
||||||
fn emphasis(parser: &mut ParserWrapper, buffer: &mut String,
|
fn emphasis(parser: &mut ParserWrapper, buffer: &mut String,
|
||||||
@ -516,8 +524,8 @@ pub fn render(w: &mut fmt::Formatter,
|
|||||||
Event::Start(Tag::BlockQuote) => {
|
Event::Start(Tag::BlockQuote) => {
|
||||||
blockquote(parser, buffer, toc_builder, shorter);
|
blockquote(parser, buffer, toc_builder, shorter);
|
||||||
}
|
}
|
||||||
Event::Start(Tag::List(_)) => {
|
Event::Start(Tag::List(x)) => {
|
||||||
list(parser, buffer, toc_builder, shorter);
|
list(parser, buffer, toc_builder, shorter, x.is_some());
|
||||||
}
|
}
|
||||||
Event::Start(Tag::Emphasis) => {
|
Event::Start(Tag::Emphasis) => {
|
||||||
emphasis(parser, buffer, toc_builder, shorter, id);
|
emphasis(parser, buffer, toc_builder, shorter, id);
|
||||||
|
32
src/test/rustdoc/test-lists.rs
Normal file
32
src/test/rustdoc/test-lists.rs
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
#![crate_name = "foo"]
|
||||||
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
|
||||||
|
// @has foo/fn.f.html
|
||||||
|
// @has - "<pre class='rust fn'>pub fn f()</pre><div class='docblock'><ol><li>list<ol><li>fooooo</li><li>x</li></ol></li><li>foo</li></ol>"
|
||||||
|
/// 1. list
|
||||||
|
/// 1. fooooo
|
||||||
|
/// 2. x
|
||||||
|
/// 2. foo
|
||||||
|
pub fn f() {}
|
||||||
|
|
||||||
|
// @has foo/fn.foo2.html
|
||||||
|
// @has - "<pre class='rust fn'>pub fn foo2()</pre><div class='docblock'><ul><li>normal list<ul><li><p>sub list</p></li><li><p>new elem still same elem</p><p>and again same elem!</p></li></ul></li><li>new big elem</li></ul>"
|
||||||
|
/// * normal list
|
||||||
|
/// * sub list
|
||||||
|
/// * new elem
|
||||||
|
/// still same elem
|
||||||
|
///
|
||||||
|
/// and again same elem!
|
||||||
|
/// * new big elem
|
||||||
|
pub fn foo2() {}
|
Loading…
Reference in New Issue
Block a user