From 18c50cbe1c5dea05b9f394be44babc3010fde890 Mon Sep 17 00:00:00 2001 From: nam3less Date: Sat, 11 Jan 2020 00:42:18 +0100 Subject: [PATCH 1/2] Added evil integration to haskell-mode Overwrite the 'o' and 'O' normal mode commands to correctly indent new lines. Code was adapted from: https://github.com/haskell/haskell-mode/issues/1265 --- modules/lang/haskell/autoload.el | 17 +++++++++++++++++ modules/lang/haskell/config.el | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/modules/lang/haskell/autoload.el b/modules/lang/haskell/autoload.el index cfcd12be0..ccb5033c8 100644 --- a/modules/lang/haskell/autoload.el +++ b/modules/lang/haskell/autoload.el @@ -12,3 +12,20 @@ (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-digit-argument-or-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)) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index 515a7c00b..bd0d6661a 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -32,6 +32,10 @@ (add-to-list 'completion-ignored-extensions ".hi") + (map! :map haskell-mode-map + "o" #'+haskell/evil-open-below + "O" #'+haskell/evil-open-above) + (map! :localleader :map haskell-mode-map ;; this is set to use cabal for dante users and stack for intero users: From d990cd9bd57fccdf19a2f78038b8203b7b97447e Mon Sep 17 00:00:00 2001 From: nam3less Date: Sat, 11 Jan 2020 01:08:28 +0100 Subject: [PATCH 2/2] Added evil integration to haskell-mode Overwrite the 'o' and 'O' normal mode commands to correctly indent new lines. Code was adapted from: https://github.com/haskell/haskell-mode/issues/1265 --- modules/lang/haskell/autoload.el | 2 +- modules/lang/haskell/config.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/lang/haskell/autoload.el b/modules/lang/haskell/autoload.el index ccb5033c8..370e5ed91 100644 --- a/modules/lang/haskell/autoload.el +++ b/modules/lang/haskell/autoload.el @@ -14,7 +14,7 @@ (error "Failed to display Haskell REPL"))) ;;;###autoload -(defun +haskell/evil-open-above +(defun +haskell/evil-open-above () "Opens a line above the current mode" (interactive) (evil-digit-argument-or-evil-beginning-of-line) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index bd0d6661a..b4615e621 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -33,8 +33,8 @@ (add-to-list 'completion-ignored-extensions ".hi") (map! :map haskell-mode-map - "o" #'+haskell/evil-open-below - "O" #'+haskell/evil-open-above) + :n "o" #'+haskell/evil-open-below + :n "O" #'+haskell/evil-open-above) (map! :localleader :map haskell-mode-map