Skip to content

Commit

Permalink
Rollup merge of rust-lang#41049 - GuillaumeGomez:rustdoc-ordered-list…
Browse files Browse the repository at this point in the history
…, r=frewsxcv

Handle ordered lists as well

Part of rust-lang#40912.

r? @rust-lang/docs
  • Loading branch information
frewsxcv committed Apr 5, 2017
2 parents 5697b90 + b02cb19 commit 8c29876
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 4 deletions.
16 changes: 12 additions & 4 deletions src/librustdoc/html/markdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -427,12 +427,15 @@ pub fn render(w: &mut fmt::Formatter,
looper(parser, &mut content, Some(x), toc_builder, shorter, &mut None);
}
}
if shorter.is_compact() {
break
}
}
buffer.push_str(&format!("<li>{}</li>", content));
}

fn list(parser: &mut ParserWrapper, buffer: &mut String, toc_builder: &mut Option<TocBuilder>,
shorter: MarkdownOutputStyle) {
shorter: MarkdownOutputStyle, is_sorted_list: bool) {
debug!("List");
let mut content = String::new();
while let Some(event) = parser.next() {
Expand All @@ -445,8 +448,13 @@ pub fn render(w: &mut fmt::Formatter,
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,
Expand Down Expand Up @@ -516,8 +524,8 @@ pub fn render(w: &mut fmt::Formatter,
Event::Start(Tag::BlockQuote) => {
blockquote(parser, buffer, toc_builder, shorter);
}
Event::Start(Tag::List(_)) => {
list(parser, buffer, toc_builder, shorter);
Event::Start(Tag::List(x)) => {
list(parser, buffer, toc_builder, shorter, x.is_some());
}
Event::Start(Tag::Emphasis) => {
emphasis(parser, buffer, toc_builder, shorter, id);
Expand Down
32 changes: 32 additions & 0 deletions src/test/rustdoc/test-lists.rs
Original file line number Diff line number Diff line change
@@ -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() {}

0 comments on commit 8c29876

Please sign in to comment.