File tree 4 files changed +55
-4
lines changed
src/librustdoc/html/static/js
4 files changed +55
-4
lines changed Original file line number Diff line number Diff line change @@ -2667,6 +2667,7 @@ class DocSearch {
2667
2667
const sortResults = async ( results , typeInfo , preferredCrate ) => {
2668
2668
const userQuery = parsedQuery . userQuery ;
2669
2669
const normalizedUserQuery = parsedQuery . userQuery . toLowerCase ( ) ;
2670
+ const isMixedCase = normalizedUserQuery !== userQuery ;
2670
2671
const result_list = [ ] ;
2671
2672
for ( const result of results . values ( ) ) {
2672
2673
result . item = this . searchIndex [ result . id ] ;
@@ -2678,10 +2679,12 @@ class DocSearch {
2678
2679
let a , b ;
2679
2680
2680
2681
// sort by exact case-sensitive match
2681
- a = ( aaa . item . name !== userQuery ) ;
2682
- b = ( bbb . item . name !== userQuery ) ;
2683
- if ( a !== b ) {
2684
- return a - b ;
2682
+ if ( isMixedCase ) {
2683
+ a = ( aaa . item . name !== userQuery ) ;
2684
+ b = ( bbb . item . name !== userQuery ) ;
2685
+ if ( a !== b ) {
2686
+ return a - b ;
2687
+ }
2685
2688
}
2686
2689
2687
2690
// sort by exact match with regard to the last word (mismatch goes later)
Original file line number Diff line number Diff line change
1
+ const EXPECTED = [
2
+ {
3
+ 'query' : 'write' ,
4
+ 'others' : [
5
+ { 'path' : 'std::fmt' , 'name' : 'write' } ,
6
+ { 'path' : 'std::fs' , 'name' : 'write' } ,
7
+ { 'path' : 'std::ptr' , 'name' : 'write' } ,
8
+ { 'path' : 'std::fmt' , 'name' : 'Write' } ,
9
+ { 'path' : 'std::io' , 'name' : 'Write' } ,
10
+ { 'path' : 'std::hash::Hasher' , 'name' : 'write' } ,
11
+ ] ,
12
+ } ,
13
+ {
14
+ 'query' : 'Write' ,
15
+ 'others' : [
16
+ { 'path' : 'std::fmt' , 'name' : 'Write' } ,
17
+ { 'path' : 'std::io' , 'name' : 'Write' } ,
18
+ { 'path' : 'std::fmt' , 'name' : 'write' } ,
19
+ { 'path' : 'std::fs' , 'name' : 'write' } ,
20
+ { 'path' : 'std::ptr' , 'name' : 'write' } ,
21
+ { 'path' : 'std::hash::Hasher' , 'name' : 'write' } ,
22
+ ] ,
23
+ } ,
24
+ ] ;
Original file line number Diff line number Diff line change
1
+ const EXPECTED = [
2
+ {
3
+ 'query' : 'Foo' ,
4
+ 'others' : [
5
+ { 'path' : 'case' , 'name' : 'Foo' , 'desc' : 'Docs for Foo' } ,
6
+ { 'path' : 'case' , 'name' : 'foo' , 'desc' : 'Docs for foo' } ,
7
+ ] ,
8
+ } ,
9
+ {
10
+ 'query' : 'foo' ,
11
+ 'others' : [
12
+ // https://github.com/rust-lang/rust/issues/133017
13
+ { 'path' : 'case' , 'name' : 'Foo' , 'desc' : 'Docs for Foo' } ,
14
+ { 'path' : 'case' , 'name' : 'foo' , 'desc' : 'Docs for foo' } ,
15
+ ] ,
16
+ } ,
17
+ ] ;
Original file line number Diff line number Diff line change
1
+ #![ allow( nonstandard_style) ]
2
+
3
+ /// Docs for Foo
4
+ pub struct Foo ;
5
+
6
+ /// Docs for foo
7
+ pub struct foo ;
You can’t perform that action at this time.
0 commit comments