@@ -58,6 +58,7 @@ function loadIndex () {
5858 try {
5959 const serializedIndex = sessionStorage . getItem ( indexStorageKey ( ) )
6060 if ( serializedIndex ) {
61+ registerElixirTokenFunction ( )
6162 return lunr . Index . load ( JSON . parse ( serializedIndex ) )
6263 } else {
6364 return null
@@ -97,24 +98,28 @@ function createIndex () {
9798}
9899
99100function elixirTokenSplitter ( builder ) {
100- function elixirTokenFunction ( token ) {
101- const tokens = token
102- . toString ( )
103- . split ( / \. | \/ | _ / )
104- . map ( part => {
105- return token . clone ( ) . update ( ( ) => part )
106- } )
101+ registerElixirTokenFunction ( )
102+ builder . pipeline . before ( lunr . stemmer , elixirTokenFunction )
103+ builder . searchPipeline . before ( lunr . stemmer , elixirTokenFunction )
104+ }
107105
108- if ( tokens . length > 1 ) {
109- return [ ...tokens , token ]
110- }
106+ function elixirTokenFunction ( token ) {
107+ const tokens = token
108+ . toString ( )
109+ . split ( / \. | \/ | _ / )
110+ . map ( part => {
111+ return token . clone ( ) . update ( ( ) => part )
112+ } )
111113
112- return tokens
114+ if ( tokens . length > 1 ) {
115+ return [ ...tokens , token ]
113116 }
114117
115- lunr . Pipeline . registerFunction ( elixirTokenFunction , 'elixirTokenSplitter' )
116- builder . pipeline . before ( lunr . stemmer , elixirTokenFunction )
117- builder . searchPipeline . before ( lunr . stemmer , elixirTokenFunction )
118+ return tokens
119+ }
120+
121+ function registerElixirTokenFunction ( ) {
122+ return lunr . Pipeline . registerFunction ( elixirTokenFunction , 'elixirTokenSplitter' )
118123}
119124
120125function searchResultsToDecoratedSearchNodes ( results ) {
0 commit comments