diff --git a/engine-mode.el b/engine-mode.el index 25136ae..a61b737 100644 --- a/engine-mode.el +++ b/engine-mode.el @@ -155,5 +155,17 @@ Hitting \"C-c / w\" will be bound to the newly-defined (engine/execute-search ,search-engine-url ,browser (,term-transformation-hook search-term))) ,(engine/bind-key engine-name keybinding))) +(defun engine-search-engines (&optional name query) + "A fast interactive entry of all defined search engines." + (interactive (list + (completing-read + "Select Search Engine: " + (mapcar + (lambda (str) (replace-regexp-in-string "engine\/search-" "" (symbol-name str))) + (apropos-internal "engine/search-"))) + (read-string "Input Search Query: "))) + (let ((engine (intern (format "engine/search-%s" name)))) + (funcall engine query))) + (provide 'engine-mode) ;;; engine-mode.el ends here