diff options
| author | Stephen Blott | 2015-05-11 09:17:45 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-05-11 09:17:45 +0100 |
| commit | 9ea1dc3a69180ffa7778c7f2cf1879f22fe60a92 (patch) | |
| tree | 3eea8e0152b80f3a7dadd649ccc12d090c7a7fef | |
| parent | ee418ed5a03eaeaf591ebcdf748dd07534a9bc85 (diff) | |
| download | vimium-9ea1dc3a69180ffa7778c7f2cf1879f22fe60a92.tar.bz2 | |
Search completion; more efficient filtering.
| -rw-r--r-- | background_scripts/completion.coffee | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/background_scripts/completion.coffee b/background_scripts/completion.coffee index a12f1bcf..175bc27d 100644 --- a/background_scripts/completion.coffee +++ b/background_scripts/completion.coffee @@ -365,6 +365,7 @@ class SearchEngineCompleter { queryTerms, query } = request keyword = queryTerms[0] if keyword and engines[keyword] and (1 < queryTerms.length or /\s$/.test query) + request.completers = [ this ] extend request, queryTerms: queryTerms[1..] keyword: keyword @@ -501,9 +502,12 @@ class MultiCompleter return @mostRecentQuery = arguments if @filterInProgress # Provide each completer with an opportunity to see (and possibly alter) the request before it is - # launched. - for completer in @completers - completer.triageRequest? request + # launched. The completer is provided with a list of the completers we're using (request.completers), and + # may change that list to override the default. + request.completers = @completers + completer.triageRequest? request for completer in @completers + completers = request.completers + delete request.completers RegexpCache.clear() { queryTerms } = request @@ -512,7 +516,7 @@ class MultiCompleter [ suggestions, continuations, filters ] = [ [], [], [] ] # Run each of the completers (asynchronously). - jobs = new JobRunner @completers.map (completer) -> + jobs = new JobRunner completers.map (completer) -> (callback) -> completer.filter request, (newSuggestions = [], { continuation, filter } = {}) -> suggestions.push newSuggestions... |
