Merge pull request #476 from ardumont/add-duckduckgo-search-engine

Add DuckDuckGo to the search engines list
This commit is contained in:
Bozhidar Batsov 2014-01-14 02:15:03 -08:00
commit 8943f98302
2 changed files with 12 additions and 14 deletions

View file

@ -71,21 +71,17 @@ PROMPT sets the `read-string prompt."
(buffer-substring (region-beginning) (region-end))
(read-string prompt))))))
(defun prelude-google ()
"Googles a query or region if any."
(defmacro prelude-install-search-engine (search-engine-name search-engine-url search-engine-prompt)
"Given some information regarding a search engine, install the interactive command to search through them"
`(defun ,(intern (format "prelude-%s" search-engine-name)) ()
,(format "Search %s with a query or region if any." search-engine-name)
(interactive)
(prelude-search "http://www.google.com/search?q=" "Google: "))
(prelude-search ,search-engine-url ,search-engine-prompt)))
(defun prelude-youtube ()
"Search YouTube with a query or region if any."
(interactive)
(prelude-search "http://www.youtube.com/results?search_query="
"Search YouTube: "))
(defun prelude-github ()
"Search GitHub with a query or region if any."
(interactive)
(prelude-search "https://github.com/search?q=" "Search GitHub: "))
(prelude-install-search-engine "google" "http://www.google.com/search?q=" "Google: ")
(prelude-install-search-engine "youtube" "http://www.youtube.com/results?search_query=" "Search YouTube: ")
(prelude-install-search-engine "github" "https://github.com/search?q=" "Search GitHub: ")
(prelude-install-search-engine "duckduckgo" "https://duckduckgo.com/?t=lm&q=" "Search DuckDuckGo: ")
(defun prelude-indent-rigidly-and-copy-to-clipboard (begin end arg)
"Indent region between BEGIN and END by ARG columns and copy to clipboard."
@ -405,6 +401,7 @@ Doesn't mess with special buffers."
"Press <C-c g> to search in Google."
"Press <C-c G> to search in GitHub."
"Press <C-c y> to search in YouTube."
"Press <C-c U> to search in DuckDuckGo."
"Press <C-c r> to rename the current buffer and file it's visiting."
"Press <C-c t> to open a terminal in Emacs."
"Press <C-c k> to kill all the buffers, but the active one."

View file

@ -39,6 +39,7 @@
(define-key map (kbd "C-c g") 'prelude-google)
(define-key map (kbd "C-c G") 'prelude-github)
(define-key map (kbd "C-c y") 'prelude-youtube)
(define-key map (kbd "C-c U") 'prelude-duckduckgo)
;; mimic popular IDEs binding, note that it doesn't work in a terminal session
(define-key map [(shift return)] 'prelude-smart-open-line)
(define-key map (kbd "M-o") 'prelude-smart-open-line)