From d58a6a192eee077ad83bb206ba4e31f32759e73f Mon Sep 17 00:00:00 2001 From: anekos Date: Sat, 17 Mar 2012 17:10:12 +0900 Subject: Support completion --- google-results.js | 20 ++++++++++++++++---- 1 file 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); })(); -- cgit v1.2.3