Skip to content

Commit

Permalink
Rollup merge of #96879 - notriddle:notriddle/search-ranking, r=Guilla…
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnTitor authored May 10, 2022
2 parents 7274447 + a9a90d4 commit d34915f
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/librustdoc/html/static/js/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -1323,7 +1323,6 @@ window.initSearch = rawSearchIndex => {
}
}
lev = levenshtein(searchWord, elem.pathLast);
lev += lev_add;
if (lev > 0 && elem.pathLast.length > 2 && searchWord.indexOf(elem.pathLast) > -1)
{
if (elem.pathLast.length < 6) {
Expand All @@ -1332,6 +1331,7 @@ window.initSearch = rawSearchIndex => {
lev = 0;
}
}
lev += lev_add;
if (lev > MAX_LEV_DISTANCE) {
return;
} else if (index !== -1 && elem.fullPath.length < 2) {
Expand Down
12 changes: 12 additions & 0 deletions src/test/rustdoc-js-std/path-ordering.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const QUERY = 'hashset::insert';

const EXPECTED = {
'others': [
// ensure hashset::insert comes first
{ 'path': 'std::collections::hash_set::HashSet', 'name': 'insert' },
{ 'path': 'std::collections::hash_set::HashSet', 'name': 'get_or_insert' },
{ 'path': 'std::collections::hash_set::HashSet', 'name': 'get_or_insert_with' },
{ 'path': 'std::collections::hash_set::HashSet', 'name': 'get_or_insert_owned' },
{ 'path': 'std::collections::hash_map::HashMap', 'name': 'insert' },
],
};
14 changes: 14 additions & 0 deletions src/test/rustdoc-js/path-ordering.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// exact-check

const QUERY = 'b::ccccccc';

const EXPECTED = {
'others': [
// `ccccccc` is an exact match for all three of these.
// However `b` is a closer match for `bb` than for any
// of the others, so it ought to go first.
{ 'path': 'path_ordering::bb', 'name': 'Ccccccc' },
{ 'path': 'path_ordering::aa', 'name': 'Ccccccc' },
{ 'path': 'path_ordering::dd', 'name': 'Ccccccc' },
],
};
9 changes: 9 additions & 0 deletions src/test/rustdoc-js/path-ordering.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
pub mod dd {
pub struct Ccccccc;
}
pub mod aa {
pub struct Ccccccc;
}
pub mod bb {
pub struct Ccccccc;
}

0 comments on commit d34915f

Please sign in to comment.