Skip to content

Commit e63e75c

Browse files
committed
Show exact case-sensitive matches first
See rust-lang/rust#129430
1 parent 3a8c8bd commit e63e75c

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lib/search/docs/base-v2.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2089,6 +2089,7 @@ export default class DocSearchV2 {
20892089
*/
20902090
const sortResults = async (results, isType, preferredCrate) => {
20912091
const userQuery = parsedQuery.userQuery;
2092+
const casedUserQuery = parsedQuery.original;
20922093
const result_list = [];
20932094
for (const result of results.values()) {
20942095
result.item = this.searchIndex[result.id];
@@ -2099,6 +2100,13 @@ export default class DocSearchV2 {
20992100
result_list.sort((aaa, bbb) => {
21002101
let a, b;
21012102

2103+
// sort by exact case-sensitive match
2104+
a = (aaa.item.name !== casedUserQuery);
2105+
b = (bbb.item.name !== casedUserQuery);
2106+
if (a !== b) {
2107+
return a - b;
2108+
}
2109+
21022110
// sort by exact match with regard to the last word (mismatch goes later)
21032111
a = (aaa.word !== userQuery);
21042112
b = (bbb.word !== userQuery);

0 commit comments

Comments
 (0)