Otherwise the symbol `haskell-session-interactive-buffer` will not be present if a Haskell buffer has not already been opened.
29 lines
827 B
EmacsLisp
29 lines
827 B
EmacsLisp
;;; lang/haskell/autoload.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload
|
|
(defun +haskell/open-repl (&optional arg)
|
|
"Opens a Haskell REPL."
|
|
(interactive "P")
|
|
(require 'haskell-interactive-mode)
|
|
(if-let (window
|
|
(display-buffer
|
|
(haskell-session-interactive-buffer (haskell-session))))
|
|
(window-buffer window)
|
|
(error "Failed to display Haskell REPL")))
|
|
|
|
;;;###autoload
|
|
(defun +haskell/evil-open-above ()
|
|
"Opens a line above the current mode"
|
|
(interactive)
|
|
(evil-beginning-of-line)
|
|
(haskell-indentation-newline-and-indent)
|
|
(evil-previous-line)
|
|
(haskell-indentation-indent-line)
|
|
(evil-append-line nil))
|
|
|
|
;;;###autoload
|
|
(defun +haskell/evil-open-below ()
|
|
"Opens a line below the current mode"
|
|
(interactive)
|
|
(evil-append-line nil)
|
|
(haskell-indentation-newline-and-indent))
|