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

better tab completion for URL commands, tokenize "filter" on \s+ and match each of the tokens

This commit is contained in:
Martin Stubenschrott
2007-10-18 17:38:59 +00:00
parent 129f7f23f7
commit 9dfc4a7d40
3 changed files with 16 additions and 16 deletions

View File

@@ -531,7 +531,11 @@ vimperator.completion = (function() // {{{
if (url.indexOf(filter) == -1)
{
if (title.indexOf(filter) >= 0)
// no direct match of filter in the url, but still accept this item
// if _all_ tokens of filter match either the url or the title
if (filter.split(/\s+/).every(function(token) {
return (url.indexOf(token) > -1 || title.indexOf(token) > -1);
}))
additional_completions.push(urls[i]);
continue;
@@ -571,23 +575,16 @@ vimperator.completion = (function() // {{{
if (typeof(filter) != "string" || !items)
return false;
if (case_sensitive)
{
for (var i = 0; i < items.length; i++)
{
if (items[i].indexOf(filter) > -1)
return true;
}
}
else
var items_str = items.join(" ");
if (!case_sensitive)
{
filter = filter.toLowerCase();
for (var i = 0; i < items.length; i++)
{
if (items[i].toLowerCase().indexOf(filter) > -1)
return true;
}
items_str = items_str.toLowerCase();
}
if (filter.split(/\s+/).every(function(str) { return items_str.indexOf(str) > -1; }))
return true;
return false;
},