]> git.bundesbrandschatzamt.de Git - emacsconfig.git/commitdiff
new version of engine-mode.
authorAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Tue, 14 Jul 2015 21:08:52 +0000 (23:08 +0200)
committerAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Tue, 14 Jul 2015 21:08:52 +0000 (23:08 +0200)
bba.org
elpa/engine-mode-20150323.2148/engine-mode-autoloads.el [deleted file]
elpa/engine-mode-20150323.2148/engine-mode-pkg.el [deleted file]
elpa/engine-mode-20150323.2148/engine-mode.el [deleted file]
elpa/engine-mode-20150613.759/engine-mode-autoloads.el [new file with mode: 0644]
elpa/engine-mode-20150613.759/engine-mode-pkg.el [new file with mode: 0644]
elpa/engine-mode-20150613.759/engine-mode.el [new file with mode: 0644]

diff --git a/bba.org b/bba.org
index 075049f72723447a270f2929c19b3e63c27ea282..2aede680d9a3a4aa6f865745dd809c5034cbec82 100644 (file)
--- a/bba.org
+++ b/bba.org
@@ -197,27 +197,27 @@ search the web on your fingertips. C-c /.
 
           (defengine amazon
             "http://www.amazon.de/s/ref=nb_sb_noss?url=search-alias%3Daps&filed-keywords=%s"
-            "a"
+            :keybinding "a"
             )
 
           (defengine bing
             "http://www.bing.com/search?q=%s&qs=bs&form=QBLH"
-            "b"
+            :keybinding "b"
             )
 
           (defengine google-maps
             "http://maps.google.com/maps?q=%s"
-            "m"
+            :keybinding "m"
             )
 
           (defengine wikipedia
             "http://www.wikipedia.org/search-redirect.php?language=en&go=Go&search=%s"
-            "w"
+            :keybinding "w"
             )
 
           (defengine youtube
             "http://www.youtube.com/results?aq=f&oq=&search_query=%s"
-            "y"
+            :keybinding "y"
             )
           (engine-mode 1)
           )
diff --git a/elpa/engine-mode-20150323.2148/engine-mode-autoloads.el b/elpa/engine-mode-20150323.2148/engine-mode-autoloads.el
deleted file mode 100644 (file)
index ac95c9e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-;;; engine-mode-autoloads.el --- automatically extracted autoloads
-;;
-;;; Code:
-
-\f
-;;;### (autoloads nil nil ("engine-mode-pkg.el" "engine-mode.el")
-;;;;;;  (21833 2755 502002 0))
-
-;;;***
-\f
-(provide 'engine-mode-autoloads)
-;; Local Variables:
-;; version-control: never
-;; no-byte-compile: t
-;; no-update-autoloads: t
-;; coding: utf-8
-;; End:
-;;; engine-mode-autoloads.el ends here
diff --git a/elpa/engine-mode-20150323.2148/engine-mode-pkg.el b/elpa/engine-mode-20150323.2148/engine-mode-pkg.el
deleted file mode 100644 (file)
index fd5f1b1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(define-package "engine-mode" "20150323.2148" "Define and query search engines from within Emacs." (quote nil))
diff --git a/elpa/engine-mode-20150323.2148/engine-mode.el b/elpa/engine-mode-20150323.2148/engine-mode.el
deleted file mode 100644 (file)
index 12be4a7..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-;;; engine-mode.el --- Define and query search engines from within Emacs.
-
-;; Author: Harry R. Schwartz <helloNOSPAMharryrschwartz.com>
-;; Version: 2015.02.07
-;; Package-Version: 20150323.2148
-;; URL: https://github.com/hrs/engine-mode/engine-mode.el
-
-;; This file is NOT part of GNU Emacs.
-
-;;; Commentary:
-
-;; `engine-mode' is a global minor mode for Emacs. It enables you to
-;; easily define search engines, bind them to keybindings, and query
-;; them from the comfort of your editor.
-
-;; For example, suppose we want to be able to easily search GitHub:
-
-;; (defengine github
-;;   "https://github.com/search?ref=simplesearch&q=%s")
-
-;; This defines an interactive function `engine/search-github'. When
-;; executed it will take the selected region (or prompt for input, if
-;; no region is selected) and search GitHub for it, displaying the
-;; results in your default browser.
-
-;; The `defengine' macro can also take an optional key combination,
-;; prefixed with `engine/keymap-prefix' (which defaults to "C-c /"):
-
-;; (defengine duckduckgo
-;;   "https://duckduckgo.com/?q=%s"
-;;   "d")
-
-;; `C-c / d' is now bound to the new function
-;; engine/search-duckduckgo'! Nifty.
-
-;;; License:
-
-;; This program is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Code:
-(eval-when-compile (require 'cl))
-
-(define-minor-mode engine-mode
-  "Minor mode for defining and querying search engines through Emacs.
-
-\\{engine-mode-map}"
-  :global t
-  :keymap (make-sparse-keymap))
-
-(defcustom engine/keymap-prefix (kbd "C-c /")
-  "Engine-mode keymap prefix."
-  :group 'engine-mode
-  :type 'string)
-
-(defun engine/search-prompt (engine-name)
-  (concat "Search " (capitalize engine-name) ": "))
-
-(defun engine/prompted-search-term (engine-name)
-  (read-string (engine/search-prompt engine-name) (thing-at-point 'symbol)))
-
-(defun engine/get-query (engine-name)
-  "Return the selected region (if any) or prompt the user for a query."
-  (if (use-region-p)
-      (buffer-substring (region-beginning) (region-end))
-    (engine/prompted-search-term engine-name)))
-
-(defun engine/execute-search (search-engine-url search-term)
-  "Display the results of the query."
-  (interactive)
-  (browse-url
-   (format search-engine-url
-           (url-hexify-string search-term))))
-
-(defun engine/function-name (engine-name)
-  (intern (concat "engine/search-" (downcase (symbol-name engine-name)))))
-
-(defun engine/docstring (engine-name)
-  (concat "Search "
-          (capitalize (symbol-name engine-name))
-          " for the selected text. Prompt for input if none is selected."))
-
-(defun engine/scope-keybinding (keybinding)
-  (concat engine/keymap-prefix " " keybinding))
-
-(defun engine/bind-key (engine-name keybinding)
-  (when keybinding
-    `(define-key engine-mode-map (kbd ,(engine/scope-keybinding keybinding))
-       (quote ,(engine/function-name engine-name)))))
-
-(defmacro defengine (engine-name search-engine-url &optional keybinding)
-  "Define a custom search engine.
-
-`engine-name' is a symbol naming the engine.
-`search-engine-url' is the url to be queried, with a \"%s\"
-standing in for the search term.
-The optional value `keybinding' is a string describing the key to
-bind the new function.
-
-Keybindings are prefixed by the `engine/keymap-prefix', which
-defaults to `C-c /'.
-
-For example, to search Wikipedia, use:
-
-  (defengine wikipedia
-    \"http://www.wikipedia.org/search-redirect.php?language=en&go=Go&search=%s\"
-    \"w\")
-
-Hitting \"C-c / w\" will be bound to the newly-defined
-`engine/search-wikipedia' function."
-
-  (assert (symbolp engine-name))
-  `(prog1
-     (defun ,(engine/function-name engine-name) (search-term)
-       ,(engine/docstring engine-name)
-       (interactive
-        (list (engine/get-query ,(symbol-name engine-name))))
-       (engine/execute-search ,search-engine-url search-term))
-     ,(engine/bind-key engine-name keybinding)))
-
-(provide 'engine-mode)
-;;; engine-mode.el ends here
diff --git a/elpa/engine-mode-20150613.759/engine-mode-autoloads.el b/elpa/engine-mode-20150613.759/engine-mode-autoloads.el
new file mode 100644 (file)
index 0000000..8b232e7
--- /dev/null
@@ -0,0 +1,16 @@
+;;; engine-mode-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))
+\f
+;;;### (autoloads nil nil ("engine-mode.el") (21908 14283 563938
+;;;;;;  0))
+
+;;;***
+\f
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; End:
+;;; engine-mode-autoloads.el ends here
diff --git a/elpa/engine-mode-20150613.759/engine-mode-pkg.el b/elpa/engine-mode-20150613.759/engine-mode-pkg.el
new file mode 100644 (file)
index 0000000..28d48c5
--- /dev/null
@@ -0,0 +1 @@
+(define-package "engine-mode" "20150613.759" "Define and query search engines from within Emacs." 'nil :url "https://github.com/hrs/engine-mode/engine-mode.el")
diff --git a/elpa/engine-mode-20150613.759/engine-mode.el b/elpa/engine-mode-20150613.759/engine-mode.el
new file mode 100644 (file)
index 0000000..16e8f8a
--- /dev/null
@@ -0,0 +1,160 @@
+;;; engine-mode.el --- Define and query search engines from within Emacs.
+
+;; Author: Harry R. Schwartz <helloNOSPAMharryrschwartz.com>
+;; Version: 2015.06.13
+;; Package-Version: 20150613.759
+;; URL: https://github.com/hrs/engine-mode/engine-mode.el
+
+;; This file is NOT part of GNU Emacs.
+
+;;; Commentary:
+
+;; `engine-mode' is a global minor mode for Emacs. It enables you to
+;; easily define search engines, bind them to keybindings, and query
+;; them from the comfort of your editor.
+
+;; For example, suppose we want to be able to easily search GitHub:
+
+;; (defengine github
+;;   "https://github.com/search?ref=simplesearch&q=%s")
+
+;; This defines an interactive function `engine/search-github'. When
+;; executed it will take the selected region (or prompt for input, if
+;; no region is selected) and search GitHub for it, displaying the
+;; results in your default browser.
+
+;; The `defengine' macro can also take an optional key combination,
+;; prefixed with "C-c /":
+
+;; (defengine duckduckgo
+;;   "https://duckduckgo.com/?q=%s"
+;;   :keybinding "d")
+
+;; `C-c / d' is now bound to the new function
+;; engine/search-duckduckgo'! Nifty.
+
+;;; License:
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(eval-when-compile (require 'cl))
+
+(defvar engine-mode-map (make-sparse-keymap))
+(defvar engine-mode-prefixed-map (make-sparse-keymap))
+
+(define-minor-mode engine-mode
+  "Minor mode for defining and querying search engines through Emacs.
+
+\\{engine-mode-map}"
+  :global t
+  :keymap engine-mode-map)
+
+(defun engine/set-keymap-prefix (prefix-key)
+  "Bind the engine-mode keymap to a new prefix.
+For example, to use \"C-c s\" instead of the default \"C-c /\":
+
+(engine/set-keymap-prefix (kbd \"C-c s\"))"
+  (define-key engine-mode-map prefix-key engine-mode-prefixed-map))
+
+(engine/set-keymap-prefix (kbd "C-c /"))
+
+(defcustom engine/browser-function browse-url-browser-function
+  "The default browser function used when opening a URL in an engine.
+Defaults to `browse-url-browser-function'."
+  :group 'engine-mode
+  :type 'symbol)
+
+(defun engine/search-prompt (engine-name)
+  (concat "Search " (capitalize engine-name) ": "))
+
+(defun engine/prompted-search-term (engine-name)
+  (read-string (engine/search-prompt engine-name) (thing-at-point 'symbol)))
+
+(defun engine/get-query (engine-name)
+  "Return the selected region (if any) or prompt the user for a query."
+  (if (use-region-p)
+      (buffer-substring (region-beginning) (region-end))
+    (engine/prompted-search-term engine-name)))
+
+(defun engine/execute-search (search-engine-url browser-function search-term)
+  "Display the results of the query."
+  (interactive)
+  (let ((browse-url-browser-function browser-function))
+    (browse-url
+     (format search-engine-url
+             (url-hexify-string search-term)))))
+
+(defun engine/function-name (engine-name)
+  (intern (concat "engine/search-" (downcase (symbol-name engine-name)))))
+
+(defun engine/docstring (engine-name)
+  (concat "Search "
+          (capitalize (symbol-name engine-name))
+          " for the selected text. Prompt for input if none is selected."))
+
+(defun engine/bind-key (engine-name keybinding)
+  (when keybinding
+    `(define-key engine-mode-prefixed-map ,keybinding
+       (quote ,(engine/function-name engine-name)))))
+
+(cl-defmacro defengine (engine-name search-engine-url &key keybinding docstring (browser 'engine/browser-function) (term-transformation-hook 'identity))
+  "Define a custom search engine.
+
+`engine-name' is a symbol naming the engine.
+`search-engine-url' is the url to be queried, with a \"%s\"
+standing in for the search term.
+The optional keyword argument `docstring' assigns a docstring to
+the generated function. A reasonably sensible docstring will be
+generated if a custom one isn't provided.
+The optional keyword argument `browser` assigns the browser
+function to be used when opening the URL.
+The optional keyword argument `term-transformation-hook' is a
+function that will be applied to the search term before it's
+substituted into `search-engine-url'. For example, if we wanted
+to always upcase our search terms, we might use:
+
+(defengine duckduckgo
+  \"https://duckduckgo.com/?q=%s\"
+  :term-transformation-hook 'upcase)
+
+In this case, searching for \"foobar\" will hit the url
+\"https://duckduckgo.com/?q=FOOBAR\".
+
+The optional keyword argument `keybinding' is a string describing
+the key to bind the new function.
+
+Keybindings are in the `engine-mode-map', so they're prefixed.
+
+For example, to search Wikipedia, use:
+
+  (defengine wikipedia
+    \"http://www.wikipedia.org/search-redirect.php?language=en&go=Go&search=%s\"
+    :keybinding \"w\"
+    :docstring \"Search Wikipedia!\")
+
+Hitting \"C-c / w\" will be bound to the newly-defined
+`engine/search-wikipedia' function."
+
+  (assert (symbolp engine-name))
+  `(prog1
+     (defun ,(engine/function-name engine-name) (search-term)
+       ,(or docstring (engine/docstring engine-name))
+       (interactive
+        (list (engine/get-query ,(symbol-name engine-name))))
+       (engine/execute-search ,search-engine-url ,browser (,term-transformation-hook search-term)))
+     ,(engine/bind-key engine-name keybinding)))
+
+(provide 'engine-mode)
+;;; engine-mode.el ends here