Skip to content

Commit 8005478

Browse files
authored
Merge pull request #1863 from zaz/load-and-run-expr
Load and run expr
2 parents 495fb96 + 238bb62 commit 8005478

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

haskell.el

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
(defvar interactive-haskell-mode-map
3939
(let ((map (make-sparse-keymap)))
4040
(define-key map (kbd "C-c C-l") 'haskell-process-load-file)
41+
(define-key map (kbd "C-c RET") 'haskell-load-and-run) ;; == C-c C-m
4142
(define-key map (kbd "C-c C-r") 'haskell-process-reload)
4243
(define-key map (kbd "C-c C-t") 'haskell-process-do-type)
4344
(define-key map (kbd "C-c C-i") 'haskell-process-do-info)
@@ -397,6 +398,17 @@ Give optional NEXT-P parameter to override value of
397398
nil
398399
(current-buffer)))
399400

401+
(defvar haskell-load-and-run-expr-history nil
402+
"History of expressions used in `haskell-load-and-run'.")
403+
404+
(defun haskell-load-and-run (expr)
405+
"Load the current buffer and run EXPR, e.g. \"main\"."
406+
(interactive (list (read-string "Run expression: "
407+
(car haskell-load-and-run-expr-history)
408+
'haskell-load-and-run-expr-history)))
409+
(haskell-process-load-file)
410+
(haskell-interactive-mode-run-expr expr))
411+
400412
;;;###autoload
401413
(defun haskell-process-reload ()
402414
"Re-load the current buffer file."

0 commit comments

Comments
 (0)