@@ -585,7 +585,7 @@ function initSearch(rawSearchIndex) {
585585 } else if ( quadcolon !== null ) {
586586 throw [ "Unexpected " , quadcolon [ 0 ] ] ;
587587 }
588- const pathSegments = path . split ( / (?: : : \s * ) | (?: \s + (?: : : \s * ) ? ) / ) ;
588+ const pathSegments = path . split ( / (?: : : \s * ) | (?: \s + (?: : : \s * ) ? ) / ) . map ( x => x . toLowerCase ( ) ) ;
589589 // In case we only have something like `<p>`, there is no name.
590590 if ( pathSegments . length === 0 || ( pathSegments . length === 1 && pathSegments [ 0 ] === "" ) ) {
591591 if ( generics . length > 0 || prevIs ( parserState , ">" ) ) {
@@ -624,7 +624,10 @@ function initSearch(rawSearchIndex) {
624624 if ( gen . name !== null ) {
625625 gen . bindingName . generics . unshift ( gen ) ;
626626 }
627- bindings . set ( gen . bindingName . name , gen . bindingName . generics ) ;
627+ bindings . set (
628+ gen . bindingName . name . toLowerCase ( ) . replace ( / _ / g, "" ) ,
629+ gen . bindingName . generics ,
630+ ) ;
628631 return false ;
629632 }
630633 return true ;
@@ -1204,8 +1207,7 @@ function initSearch(rawSearchIndex) {
12041207 */
12051208 function newParsedQuery ( userQuery ) {
12061209 return {
1207- original : userQuery ,
1208- userQuery : userQuery . toLowerCase ( ) ,
1210+ userQuery : userQuery ,
12091211 elems : [ ] ,
12101212 returned : [ ] ,
12111213 // Total number of "top" elements (does not include generics).
@@ -1297,7 +1299,7 @@ function initSearch(rawSearchIndex) {
12971299 genericsElems : 0 ,
12981300 typeFilter : null ,
12991301 isInBinding : null ,
1300- userQuery : userQuery . toLowerCase ( ) ,
1302+ userQuery,
13011303 } ;
13021304 let query = newParsedQuery ( userQuery ) ;
13031305
@@ -2781,21 +2783,25 @@ function initSearch(rawSearchIndex) {
27812783 if ( ( elem . id === null && parsedQuery . totalElems > 1 && elem . typeFilter === - 1
27822784 && elem . generics . length === 0 && elem . bindings . size === 0 )
27832785 || elem . typeFilter === TY_GENERIC ) {
2784- if ( genericSymbols . has ( elem . name ) ) {
2785- elem . id = genericSymbols . get ( elem . name ) ;
2786+ if ( genericSymbols . has ( elem . normalizedPathLast ) ) {
2787+ elem . id = genericSymbols . get ( elem . normalizedPathLast ) ;
27862788 } else {
27872789 elem . id = - ( genericSymbols . size + 1 ) ;
2788- genericSymbols . set ( elem . name , elem . id ) ;
2790+ genericSymbols . set ( elem . normalizedPathLast , elem . id ) ;
27892791 }
2790- if ( elem . typeFilter === - 1 && elem . name . length >= 3 ) {
2792+ if ( elem . typeFilter === - 1 && elem . normalizedPathLast . length >= 3 ) {
27912793 // Silly heuristic to catch if the user probably meant
27922794 // to not write a generic parameter. We don't use it,
27932795 // just bring it up.
2794- const maxPartDistance = Math . floor ( elem . name . length / 3 ) ;
2796+ const maxPartDistance = Math . floor ( elem . normalizedPathLast . length / 3 ) ;
27952797 let matchDist = maxPartDistance + 1 ;
27962798 let matchName = "" ;
27972799 for ( const name of typeNameIdMap . keys ( ) ) {
2798- const dist = editDistance ( name , elem . name , maxPartDistance ) ;
2800+ const dist = editDistance (
2801+ name ,
2802+ elem . normalizedPathLast ,
2803+ maxPartDistance ,
2804+ ) ;
27992805 if ( dist <= matchDist && dist <= maxPartDistance ) {
28002806 if ( dist === matchDist && matchName > name ) {
28012807 continue ;
@@ -3356,11 +3362,11 @@ ${item.displayPath}<span class="${type}">${name}</span>\
33563362 }
33573363
33583364 // Update document title to maintain a meaningful browser history
3359- searchState . title = "Results for " + query . original + " - Rust" ;
3365+ searchState . title = "Results for " + query . userQuery + " - Rust" ;
33603366
33613367 // Because searching is incremental by character, only the most
33623368 // recent search query is added to the browser history.
3363- updateSearchHistory ( buildUrl ( query . original , filterCrates ) ) ;
3369+ updateSearchHistory ( buildUrl ( query . userQuery , filterCrates ) ) ;
33643370
33653371 await showResults (
33663372 await execQuery ( query , filterCrates , window . currentCrate ) ,
0 commit comments