From e7657d6ba54ad5714657cff9be86ec416d342a4c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 28 Apr 2013 20:54:18 +0100 Subject: Migrate repository from mercurial without history --- emacs/elisp/electric-return.el | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 emacs/elisp/electric-return.el (limited to 'emacs/elisp/electric-return.el') diff --git a/emacs/elisp/electric-return.el b/emacs/elisp/electric-return.el new file mode 100644 index 0000000..fcbebb3 --- /dev/null +++ b/emacs/elisp/electric-return.el @@ -0,0 +1,16 @@ +(defvar electrify-return-match + "[\]}\)\"]" + "If this regexp matches the text after the cursor, do an \"electric\" + return.") +(defun electrify-return-if-match (arg) + "If the text after the cursor matches `electrify-return-match' then + open and indent an empty line between the cursor and the text. Move the + cursor to the new line." + (interactive "P") + (let ((case-fold-search nil)) + (if (looking-at electrify-return-match) + (save-excursion (newline-and-indent))) + (newline arg) + (indent-according-to-mode))) +;; Using local-set-key in a mode-hook is a better idea. +;(global-set-key (kbd "RET") 'electrify-return-if-match) \ No newline at end of file -- cgit 1.4.1