branch: master commit 7854d03b98f793904b10f7f2dc87f9be6f605083 Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
counsel.el (counsel-google): Add It relies on a sync version of `request' for now. --- counsel.el | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/counsel.el b/counsel.el index 69e1794..927428c 100644 --- a/counsel.el +++ b/counsel.el @@ -5919,6 +5919,31 @@ Additional actions:\\<ivy-minibuffer-map> :action #'counsel-M-x-action :caller 'counsel-major)) +;;* `counsel-google' +(defun counsel-google-function (input) + (or + (ivy-more-chars) + (mapcar #'identity + (aref + (request-response-data + (request + "http://suggestqueries.google.com/complete/search" + :type "GET" + :params (list + (cons "client" "firefox") + (cons "q" input)) + :parser 'json-read + :sync t)) + 1)))) + +(defun counsel-google () + (interactive) + (ivy-read "search: " #'counsel-google-function + :action (lambda (x) + (browse-url (concat "https://www.google.com/search?q=" x))) + :dynamic-collection t + :caller 'counsel-google)) + ;;* `counsel-mode' (defvar counsel-mode-map (let ((map (make-sparse-keymap)))