Add prelude-smart-open-line-above defun to prelude-core.el

Opens a line above the current line and indents it.

The counterpart to prelude-smart-open-line (bound to S-ret)

The new defun is bound to C-S-ret and is documented in the README.
This commit is contained in:
Abizer Nasir 2013-03-31 13:20:36 +01:00
parent ef2abd3b87
commit 773578d255
3 changed files with 11 additions and 0 deletions

View file

@ -209,6 +209,7 @@ Keybinding | Description
-------------------|------------------------------------------------------------
<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-S-RET</kbd> | Insert an empty line above the current line and indent it properly
<kbd>S-RET</kbd> | Insert an empty line and indent it properly (as in most IDEs).
<kbd>C-S-up</kbd> | Move the current line up.
<kbd>C-S-down</kbd> | Move the current line down.

View file

@ -79,6 +79,15 @@
(indent-rigidly (point-min) (point-max) arg)
(clipboard-kill-ring-save (point-min) (point-max)))))
(defun prelude-smart-open-line-above ()
"Insert an empty line above the current line.
Position the cursor at it's beginning, according to the current mode"
(interactive)
(beginning-of-line)
(newline)
(forward-line -1)
(indent-according-to-mode))
(defun prelude-smart-open-line ()
"Insert an empty line after the current line.
Position the cursor at its beginning, according to the current mode."

View file

@ -39,6 +39,7 @@
(define-key map (kbd "C-c g") 'prelude-google)
;; 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 [(control shift return)] 'prelude-smart-open-line-above)
(define-key map [(control shift up)] 'prelude-move-line-up)
(define-key map [(control shift down)] 'prelude-move-line-down)
(define-key map (kbd "C-c n") 'prelude-cleanup-buffer)