From a76c08093079824f6b8a596391e9ac389964df3f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 14 Jul 2018 21:43:12 +0200 Subject: [PATCH] lang/haskell: improve REPL support #752 --- modules/lang/haskell/autoload.el | 15 +++++++++++++++ modules/lang/haskell/config.el | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 modules/lang/haskell/autoload.el diff --git a/modules/lang/haskell/autoload.el b/modules/lang/haskell/autoload.el new file mode 100644 index 000000000..92cc42afe --- /dev/null +++ b/modules/lang/haskell/autoload.el @@ -0,0 +1,15 @@ +;;; lang/haskell/autoload.el -*- lexical-binding: t; -*- + +;;;###autoload +(defun +haskell-repl-buffer () + "Returns the appropriate Haskell REPL buffer." + (if (featurep! +intero) + (intero-repl-buffer arg) + (haskell-session-interactive-buffer (haskell-session)))) + +;;;###autoload +(defun +haskell/repl (&optional arg) + "Opens a Haskell REPL." + (interactive "P") + (display-buffer (+haskell-repl-buffer))) + diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index 9b44c7531..56ccf58fd 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -11,6 +11,6 @@ :hook (haskell-mode . hindent-mode)) (after! haskell-mode - (set-repl-handler! 'haskell-mode #'switch-to-haskell) + (set-repl-handler! '(haskell-mode haskell-cabal-mode literate-haskell-mode) #'+haskell-repl-buffer) (add-to-list 'completion-ignored-extensions ".hi"))