Add prelude-github

Conflicts:
	core/prelude-core.el
This commit is contained in:
toctan 2013-09-15 13:53:08 +08:00 committed by Bozhidar Batsov
parent 754451a34a
commit c0727a8404
3 changed files with 29 additions and 19 deletions

View file

@ -218,6 +218,7 @@ Keybinding | Description
-------------------|------------------------------------------------------------ -------------------|------------------------------------------------------------
<kbd>C-c o</kbd> | Open the currently visited file with an external program. <kbd>C-c o</kbd> | Open the currently visited file with an external program.
<kbd>C-c g</kbd> | Search in Google for the thing under point (or an interactive query). <kbd>C-c g</kbd> | Search in Google for the thing under point (or an interactive query).
<kbd>C-c G</kbd> | Search in GitHub for the thing under point (or an interactive query).
<kbd>C-c y</kbd> | Search in YouTube for the thing under point (or an interactive query). <kbd>C-c y</kbd> | Search in YouTube for the thing under point (or an interactive query).
<kbd>C-S-RET</kbd> or <kbd>M-o</kbd> | Insert an empty line above the current line and indent it properly <kbd>C-S-RET</kbd> or <kbd>M-o</kbd> | Insert an empty line above the current line and indent it properly
<kbd>S-RET</kbd> or <kbd>M-O</kbd> | Insert an empty line and indent it properly (as in most IDEs). <kbd>S-RET</kbd> or <kbd>M-O</kbd> | Insert an empty line and indent it properly (as in most IDEs).

View file

@ -61,25 +61,31 @@ With a prefix ARG always prompt for command to use."
(ansi-term (getenv "SHELL"))) (ansi-term (getenv "SHELL")))
"*ansi-term*")) "*ansi-term*"))
(defun prelude-search (query-url prompt)
"Open the search url constructed with the QUERY-URL.
PROMPT sets the `read-string prompt."
(browse-url
(concat query-url
(url-hexify-string
(if mark-active
(buffer-substring (region-beginning) (region-end))
(read-string prompt))))))
(defun prelude-google () (defun prelude-google ()
"Googles a query or region if any." "Googles a query or region if any."
(interactive) (interactive)
(browse-url (prelude-search "http://www.google.com/search?q=" "Google: "))
(concat
"http://www.google.com/search?ie=utf-8&oe=utf-8&q="
(url-hexify-string (if mark-active
(buffer-substring (region-beginning) (region-end))
(read-string "Google: "))))))
(defun prelude-youtube () (defun prelude-youtube ()
"Search YouTube with a query or region if any." "Search YouTube with a query or region if any."
(interactive) (interactive)
(browse-url (prelude-search "http://www.youtube.com/results?search_query="
(concat "Search YouTube: "))
"http://www.youtube.com/results?search_query="
(url-hexify-string (if mark-active (defun prelude-github ()
(buffer-substring (region-beginning) (region-end)) "Search GitHub with a query or region if any."
(read-string "Search YouTube: ")))))) (interactive)
(prelude-search "https://github.com/search?q=" "Search GitHub: "))
(defun prelude-indent-rigidly-and-copy-to-clipboard (begin end arg) (defun prelude-indent-rigidly-and-copy-to-clipboard (begin end arg)
"Indent region between BEGIN and END by ARG columns and copy to clipboard." "Indent region between BEGIN and END by ARG columns and copy to clipboard."
@ -416,6 +422,8 @@ Doesn't mess with special buffers."
"Press <jl> quickly to jump to a visible line." "Press <jl> quickly to jump to a visible line."
"Press <C-c h> to navigate a project in Helm." "Press <C-c h> to navigate a project in Helm."
"Press <C-c g> to search in Google." "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 r> to rename the current buffer and file it's visiting." "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 t> to open a terminal in Emacs."
"Press <C-c k> to kill all the buffers, but the active one." "Press <C-c k> to kill all the buffers, but the active one."

View file

@ -37,6 +37,7 @@
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c o") 'prelude-open-with) (define-key map (kbd "C-c o") 'prelude-open-with)
(define-key map (kbd "C-c g") 'prelude-google) (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 y") 'prelude-youtube)
;; mimic popular IDEs binding, note that it doesn't work in a terminal session ;; 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 [(shift return)] 'prelude-smart-open-line)