1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-23 22:52:38 +01:00

Fix some completion issues. Make async search suggestion completions somewhat more useable.

This commit is contained in:
Kris Maglione
2011-02-18 22:25:36 -05:00
parent ce23dd079d
commit cb0a07ddd1
5 changed files with 22 additions and 14 deletions

View File

@@ -231,10 +231,10 @@ var Bookmarks = Module("bookmarks", {
if (!queryURI)
return (callback || util.identity)([]);
function process(resp) {
function process(req) {
let results = [];
try {
results = JSON.parse(resp.responseText)[1].filter(isString);
results = JSON.parse(req.responseText)[1].filter(isString);
}
catch (e) {}
if (callback)
@@ -242,10 +242,10 @@ var Bookmarks = Module("bookmarks", {
return results;
}
let resp = util.httpGet(queryURI, callback && process);
let req = util.httpGet(queryURI, callback && process);
if (callback)
return null;
return process(resp);
return req;
return process(req);
},
/**
@@ -659,10 +659,17 @@ var Bookmarks = Module("bookmarks", {
ctxt.title = [engine.description + " Suggestions"];
ctxt.keys = { text: util.identity, description: function () "" };
ctxt.compare = CompletionContext.Sort.unsorted;
ctxt.filterFunc = null;
let words = ctxt.filter.split(/\s+/g);
ctxt.completions = ctxt.completions.filter(function (i) words.every(function (w) i.toLowerCase().indexOf(w) >= 0));
ctxt.hasItems = ctxt.completions.length;
ctxt.incomplete = true;
bookmarks.getSuggestions(name, ctxt.filter, function (compl) {
ctxt.cache.request = bookmarks.getSuggestions(name, ctxt.filter, function (compl) {
ctxt.incomplete = false;
ctxt.completions = compl;
ctxt.completions = array.uniq(ctxt.completions.filter(function (c) compl.indexOf(c) >= 0)
.concat(compl), true);
});
});
};