aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2012-03-17 17:10:12 +0900
committeranekos2012-03-17 20:58:17 +0900
commitd58a6a192eee077ad83bb206ba4e31f32759e73f (patch)
treeaf849b65984f999609becede78b6a0b97f983766
parentb4d39067cd86a1ea432a4b7fc286f5c62c751b11 (diff)
downloadvimperator-plugins-d58a6a192eee077ad83bb206ba4e31f32759e73f.tar.bz2
Support completion
-rwxr-xr-xgoogle-results.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/google-results.js b/google-results.js
index 1118106..93089f8 100755
--- a/google-results.js
+++ b/google-results.js
@@ -35,10 +35,11 @@ commands.addUserCommand(["gr"],
"Google Results",
function (args) {
var doc = window.content.document;
- if(args >= 1) {
+ if(args.length >= 1) {
+ var num = parseInt(args.literalArg, 10);
var results = doc.querySelectorAll("div > ol > li > div > h3 > a");
- if(args <= results.length) {
- results[args - 1].click();
+ if(num <= results.length) {
+ results[num - 1].click();
}
else {
console.error("Not that many results");
@@ -47,5 +48,16 @@ commands.addUserCommand(["gr"],
else {
(doc.querySelector("div > p > a.spell") || doc.querySelector("div > button")).click();
}
- });
+ }, {
+ literal: 0,
+ completer: function (context, args) {
+ var doc = window.content.document;
+ var es = doc.querySelectorAll("div > ol > li > div > h3 > a");
+ context.title = ['Title', 'URL'];
+ context.completions = [
+ [(n + 1) + ': ' + e.textContent, e.href]
+ for ([n, e] in Iterator(Array.slice(es)))
+ ];
+ }
+ }, true);
})();