Skip to content

Commit

Permalink
Rollup merge of rust-lang#56709 - GuillaumeGomez:reduce-search-index,…
Browse files Browse the repository at this point in the history
… r=QuietMisdreavus

Remove unneeded extra chars to reduce search-index size

Before:

```
2013782 Dec 11 10:16 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

After:

```
1736597 Dec 11 10:50 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

No changes in the output of the search.

r? @QuietMisdreavus
  • Loading branch information
kennytm authored Dec 14, 2018
2 parents 33a94f1 + 987bf2e commit e9dcc7b
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
20 changes: 19 additions & 1 deletion src/librustdoc/html/markdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,10 @@ impl<'a> fmt::Display for MarkdownSummaryLine<'a> {
}

pub fn plain_summary_line(md: &str) -> String {
plain_summary_line_full(md, false)
}

pub fn plain_summary_line_full(md: &str, limit_length: bool) -> String {
struct ParserWrapper<'a> {
inner: Parser<'a>,
is_in: isize,
Expand Down Expand Up @@ -852,7 +856,21 @@ pub fn plain_summary_line(md: &str) -> String {
s.push_str(&t);
}
}
s
if limit_length && s.chars().count() > 60 {
let mut len = 0;
let mut ret = s.split_whitespace()
.take_while(|p| {
// + 1 for the added character after the word.
len += p.chars().count() + 1;
len < 60
})
.collect::<Vec<_>>()
.join(" ");
ret.push('…');
ret
} else {
s
}
}

pub fn markdown_links(md: &str) -> Vec<(String, Option<Range<usize>>)> {
Expand Down
16 changes: 11 additions & 5 deletions src/librustdoc/html/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ fn build_index(krate: &clean::Crate, cache: &mut Cache) -> String {
ty: item.type_(),
name: item.name.clone().unwrap(),
path: fqp[..fqp.len() - 1].join("::"),
desc: plain_summary_line(item.doc_value()),
desc: plain_summary_line_short(item.doc_value()),
parent: Some(did),
parent_idx: None,
search_type: get_index_search_type(&item),
Expand Down Expand Up @@ -736,7 +736,7 @@ fn build_index(krate: &clean::Crate, cache: &mut Cache) -> String {
}

let crate_doc = krate.module.as_ref().map(|module| {
plain_summary_line(module.doc_value())
plain_summary_line_short(module.doc_value())
}).unwrap_or(String::new());

let mut crate_data = BTreeMap::new();
Expand Down Expand Up @@ -1481,7 +1481,7 @@ impl DocFolder for Cache {
ty: item.type_(),
name: s.to_string(),
path: path.join("::"),
desc: plain_summary_line(item.doc_value()),
desc: plain_summary_line_short(item.doc_value()),
parent,
parent_idx: None,
search_type: get_index_search_type(&item),
Expand Down Expand Up @@ -1673,7 +1673,7 @@ impl<'a> Cache {
ty: item.type_(),
name: item_name.to_string(),
path: path.clone(),
desc: plain_summary_line(item.doc_value()),
desc: plain_summary_line_short(item.doc_value()),
parent: None,
parent_idx: None,
search_type: get_index_search_type(&item),
Expand Down Expand Up @@ -2388,7 +2388,13 @@ fn shorter<'a>(s: Option<&'a str>) -> String {
#[inline]
fn plain_summary_line(s: Option<&str>) -> String {
let line = shorter(s).replace("\n", " ");
markdown::plain_summary_line(&line[..])
markdown::plain_summary_line_full(&line[..], false)
}

#[inline]
fn plain_summary_line_short(s: Option<&str>) -> String {
let line = shorter(s).replace("\n", " ");
markdown::plain_summary_line_full(&line[..], true)
}

fn document(w: &mut fmt::Formatter, cx: &Context, item: &clean::Item) -> fmt::Result {
Expand Down

0 comments on commit e9dcc7b

Please sign in to comment.