New function 'geiser-repl--clear-buffer'
authorJonas Rodrigues <jxonas@gmail.com>
Fri, 9 Nov 2012 20:20:32 +0000 (9 18:20 -0200)
committerJonas Rodrigues <jxonas@gmail.com>
Fri, 9 Nov 2012 20:20:32 +0000 (9 18:20 -0200)
elisp/geiser-repl.el

index d7be7cf..fd87d42 100644 (file)
@@ -414,6 +414,18 @@ module command as a string")
   (geiser-repl--read-input-ring))
 
 \f
+;;; Cleaning up
+
+(defun geiser-repl--clear-buffer ()
+  "Delete the output generated by the scheme process."
+  (interactive)
+  (let ((inhibit-read-only t))
+    (delete-region (point-min) (geiser-repl--last-prompt-start))
+    (when (< (point) (geiser-repl--last-prompt-end))
+      (goto-char (geiser-repl--last-prompt-end)))
+    (recenter t)))
+
+\f
 ;;; Cleaning up on quit
 
 (defun geiser-repl--on-quit ()
@@ -588,6 +600,8 @@ buffer."
 (define-key geiser-repl-mode-map "\C-a" 'geiser-repl--bol)
 (define-key geiser-repl-mode-map (kbd "<home>") 'geiser-repl--bol)
 
+(define-key geiser-repl-mode-map "\C-c\M-o" 'geiser-repl--clear-buffer)
+
 (geiser-menu--defmenu repl geiser-repl-mode-map
   ("Complete symbol" ((kbd "M-TAB"))
    completion-at-point :enable (geiser--symbol-at-point))